MoI discussion forum
MoI discussion forum

Full Version: Hatch Fill

Show messages:  1-20  21-37

From: scott (SSHWARTS)
26 Feb 2015   [#1]
Does anyone have a script (or start of a script) that would hatch fill a closed curve with lines? (bonus points for a cross hatch option).
What I need it for is that when I engrave bricks (yes, bricks) on my laser cutter, I actually have to use cut vs engrave so to fill the item in (vs just an outline) I have to cut little lines to give the effect.

Thanks,
Scott
From: Martin (MARTIN3D)
26 Feb 2015   [#2] In reply to [#1]
Hi Scott, here's a quick start:

Copy the file hatchit.js in the commands folder
Restart Moi
Draw a closed shape
Select it
TAB
hatchit
ENTER



The first line var hatchlineOffset = 1; determines the hatch density

Attachments:
hatchit.js

Image Attachments:
hatched objects.png  How-the-script-works.png 


From: Martin (MARTIN3D)
26 Feb 2015   [#3] In reply to [#2]
A quick cross hatch version:

Attachments:
crosshatchit.js


From: bemfarmer
26 Feb 2015   [#4] In reply to [#1]
There is an older post about this. Existing Moi commands can do the work...

There are "algorithms" for it, and a couple of papers. I tried doing a script many months ago, with scanlines, so the
borders would alternate, but got bogged down with KD trees, etc. :-)

- Brian
From: Martin (MARTIN3D)
26 Feb 2015   [#5] In reply to [#2]
Applied to solids:


Image Attachments:
Screen Shot 2015-02-26 at 21.56.03.png 


From: scott (SSHWARTS)
26 Feb 2015   [#6]
That's superb thank you!
I tried to find a previous thread about this but couldn't.
From: Mindset (IGNITER)
26 Feb 2015   [#7]
Maybe the "Dashed curve" script could be applied somehow to HatchIt.js ?
http://moi3d.com/forum/index.php?webtag=MOI&msg=6518.14
From: bemfarmer
26 Feb 2015   [#8] In reply to [#6]
This discussion was a bit different from "hatch," and was for water jet etching.
http://moi3d.com/forum/index.php?webtag=MOI&msg=6218.1

- Brian
From: Martin (MARTIN3D)
1 Mar 2015   [#9] In reply to [#2]
I updated the HatchIt script.
You can now enter the hatch line spacing and choose a cross hatch option.

NOTE
The closed shapes must be drawn in the top view.
If you want to hatch several closed curves at once they must be all on the same Z plane.

HINT
You can hide all hatch lines In the Scene browser under Objects.
Or you can select and delete or color all hatch lines.

Attachments:
HatchIt.htm
HatchIt.js


From: Martin (MARTIN3D)
2 Mar 2015   [#10] In reply to [#9]
I updated the script in the previous post with a live preview of the hatch lines.
From: danperk (SBEECH)
2 Mar 2015   [#11]
Thanks Martin! :)
From: Martin (MARTIN3D)
4 Mar 2015   [#12] In reply to [#9]
I updated the script in post 7279.9 again
http://moi3d.com/forum/index.php?webtag=MOI&msg=7279.9

Now you see a live preview of the final result and you can also choose the hatch direction.
From: BEAR17
26 Feb 2016   [#13]
French version of the Hatch Fill is done ! :)


Attachments:
HatchIt.htm
HatchIt.js

Image Attachments:
1.png 


From: Frenchy Pilou (PILOU)
26 Feb 2016   [#14] In reply to [#13]
Cool!

Un de moins! :)

et voilĂ ! ;)
http://moiscript.weebly.com/hachures.html
From: BEAR17
26 Feb 2016   [#15]
Pilou, c'est une modeste contribution au regard de ton investissement personnel !
Pilou, it's not to much against what you have done for Moi3D !
From: Marbleman
28 Mar 2016   [#16]
Is this a bridge to far or is it possible to create other Hatch Fills as attached jpg......would be very handy!

James Elliott

Image Attachments:
IMG_2610.jpg 


From: Michael Gibson
28 Mar 2016   [#17] In reply to [#16]
Hi James,

> Is this a bridge to far or is it possible to create other Hatch Fills as attached jpg

I guess it's possible, but would probably require quite a bit of work.

Someday I would like to have hatching and drafting type stuff set up directly in MoI but it will still be a while yet before I'll be able to focus on that.

- Michael
From: Martin (MARTIN3D)
3 Dec 2017   [#18]
Hi Michael,
I noticed that when I use my Hatchit script with V4 beta Nov-18-2017 the two check boxes are not showing.

code:
<html>
	<head>
	</head>
	
	<body class="commandbody">
	
	<div id="TitleContainer" style="width:100%; text-align:center;"> 
		<strong>Hatch selected objects</strong>
	</div>
	
	<div id="InputContainer" class="commandoptions" style="width:100%; padding-top:0.75em; padding-left:0.85em;">
		Line spacing
		<br>
		<moi:DistanceInput id="offset" value="2">  
		<br>
		<br>
		<moi:CheckButton id="left_right" default="true">Left to right</moi:CheckButton>
		<br>
		<moi:CheckButton id="right_left" default="false">Right to left</moi:CheckButton>
		<br>
	</div>
		
		<moi:CommandDoneCancel />
	</body>
</html>

Attachments:
HatchIt.htm
HatchIt.js


From: Michael Gibson
3 Dec 2017   [#19] In reply to [#18]
Hi Martin, it's because your <moi:DistanceInput> control is not closed. V3 and V4 differ on how malformed HTML is processed, V3 would scan ahead and see there is no end tag found and then close off the tag. V4 I believe adheres to what is supposed to happen which is that it puts the content after your unclosed tag as children of it and doesn't close it off automatically at its origin point.

You can fix it and make it work in both V3 and V4 by closing that tag like this:

code:
<moi:DistanceInput id="offset" value="2"/> 


- Michael
From: bemfarmer
3 Dec 2017   [#20] In reply to [#19]
Lines 60 and 61 of .js are missing semicolons.
Runs on MoI4beta11_28_17 in top view, after making the 3 changes: / ; and ;
- Brian

As a general question, is there some kind of 3rd party debugger or interpreter checker program?

Show messages:  1-20  21-37