Macro using CurveBoolean... grrr

I am trying to create a simple macro which will lock the result of a CurveBoolean. I have been spectacularly unsuccessful up to this point.

The problem is that as AFAICT, it requires 2 Pauses for starters plus EXACTLY one Pause per possible region pick inside CurveBoolean for the macro to continue correctly (otherwise it stops after the CB is complete). That basically means it’s impossible to macro… What am I missing? There must be some simple trick to make this work.

! _CurveBoolean _Pause _Pause _Pause _Lock works only for one pick

! _CurveBoolean _Pause _Pause _Pause _Pause _Pause _Lock works only for two picks

! _CurveBoolean _Pause _Pause _Pause _Pause _Pause _Lock works only for three picks, etc.

Certainly this type of stuff can be scripted but I’m trying to teach beginning students to create simple macros like this for themselves.

–Mitch

Edit: OK, I got it… This is soooo… Rhino 4. I really hoped this stuff had been fixed for V5…

! _CurveBoolean
_Pause _Pause _Pause _Pause 
_Pause _Pause _Pause _Pause
_Pause _Pause _Pause _Pause 
_Pause _Pause _Pause _Pause 
_Pause _Pause _Pause _Pause 
_Pause _Pause _Pause _Pause 
_Pause _Pause _Pause _Pause 
_Pause _Pause _Pause _Pause 
_Pause _Pause _Pause _Pause 
_Pause _Pause _Pause _Pause 
_Pause _Pause _Pause _Pause 
_Enter _Sellast _Lock

Yeah, I wonder if a single Pause can handle all region selection as it does for object selection in other commands. I will ask… thanks. Not sure where all those pauses are going anyway- it looks like at least one is being eaten with a pre-selection.

-Pascal

Hi @Helvetosaur


How can I do this in one move with curveBoolean? It will find multiple lines and convert them into a single line. No lines inside should be deleted. Thank you for your answer.

Can’t you just do dupfaceborder on the top face instead of trying to dupedge on all the curves to then try to remove all the unnecessary stuff?

I will apply this process to dozens of pieces. The CurveBoolean command is very practical because it deletes both closed geometry and double lines. However, since it deletes the geometry that remains inside, I apply extra processing. You can do small amounts of work. However, when there are many or they are part of the work, it gets tiring. It is easier to do dozens of jobs at once with a single command, which means less time.

Without knowing what all the other parts look like, you can go to front view and align all parts at the bottom and either window select over the bottom of all parts or use a rectangle and SelBoundary inside the Dupfaceborder command.

Sorry for not answering your question though. Just feel like there’s ways to work around it without having the need for a script to automate what you want to do with curveboolean.

I already have this script in my library…

ExtractTopSrfOutlines.py (2.3 KB)

Thank you very much. It did not give correct results on amorphous models. But I got very good results on simple morph surfaces. Thank you very much again.

is it possible to do this with CurveBoolean subparameters?

It’s not designed to. Only works on objects that have planar upper surfaces parallel to WorldXY.