Scripts for 2D Workflows

 From:  mkdm
8649.1 
Hi Moiers!!

Finally!! :)

After many tests and with the precious advice and suggestions from Michael I can release the 1.0 beta version of these two scripts :

1) SelectCurvesByContainer

2) LassoSelectCurves

I wrote them pointing at in particular to 2D workflows involving Moi and any vector graphic software, like for example Affinity Designer,
just to name my favorite :)

Both scripts has no UI, because they're scripts and not commands, and both perform almost the same tasks but in two different ways.

You can run them using custom buttons or shortcuts.

Each script can be used in 4 different modes, common to both :

Mode 1) : Holes
Mode 2) : Open Curves
Mode 3) : Closed Curves Partially Projected
Mode 4) : ALL

----------------------------------------------------------------------------------
START OF "IMPORTANT SECTION"

Before using these script, please keep in mind these things :

1) To find what and what not can be considered enclosed, totally or partially, into the "container" curve or into the "lasso" curve, I'm using
the "Project" command with "Direction" method.
For the moment I'm using a very coarse and simple way to calculate the direction.
This implies that if the "lasso" curve that has been drawn or the "container" curve that was selected, is not parallel to a standard plane (standard views)
then the "project" will not be executed and the execution of the scripts will not produce any results.

For the next version of the scripts I think I should calculate the "normal" of the target surface of the "project"


2) Keep in mind that these scripts, as I said, where designed for 2D workflows. Only curves are taken into account.

3) I hope that many users will download and test these scripts in many situations.
Please, give me a feedback of errors and/or strange behaviors.
YOUR SUPPORT IS VERY ESSENTIAL :)

END OF "IMPORTANT SECTION"
----------------------------------------------------------------------------------

Ok!

This is where you can get the scripts : http://take.ms/P1g5y

Unzip the file and you will get these two folders :


This is the contents of the folder "repository2dworkflow"


This is the contents of the folder "scripts"


Copy both folders into your Moi installation directory.
You will be asked to overwrite the "scripts" folder.
Click "yes". It contains the 8 files that will be added to your "scripts" folder.



*******************************************************************
Tomorrow I will post the detailed instructions and descriptions for all the scripts.

For the moment I let you these short instructions :

1) How to use SelectCurvesByContainer variants :

SelectCurvesByContainer_ALL.js
SelectCurvesByContainer_ClosedCurvesPartiallyProjected.js
SelectCurvesByContainer_Holes.js
SelectCurvesByContainer_OpenCurves.js

Deselect all, then select one single "container" curve. This curve MUST be planar.
Then select ALL other curves that you want to check.
Then run the scripts.
At the end of elaboration, if something was found, you will have the "container" curve selected along with all the curves that "passed" the test.


2) How to use LassoSelectCurves variants :

LassoSelectCurves_ALL.js
LassoSelectCurves_ClosedCurvesPartiallyProjected.js
LassoSelectCurves_Holes.js
LassoSelectCurves_OpenCurves.js

Deselect all, RUN the script.
In one of the standard Moi's views draw a "lasso" curve. If the curve is open it will be automatically closed.
At the end of elaboration, if something was found, you will have the "lasso" curve in faint mode and all the curves that "passed" the test will be automatically selected.

You can also preselect something before run the script.
If you do so then the "lasso" curve will check ONLY the preselected curves.
This method is much faster if you have thousands of curves in scene or if your computer is slow.



Anyway, that's all for the moment!

******************************************************************
********************* IMPORTANT ***********************************
******************************************************************

This is the demo video : http://take.ms/qC0pH

Other demo and use cases will follow

And this is a screenshot :






Ciao!!

- Marco (mkdm)