Jump to content

DomC

Member
  • Content Count

    355
  • Joined

  • Last visited

Files posted by DomC

  1. Menu-Command Distribute horizontal

    If you often have objects like imported pictures or imported PDFs with many objects or pages, this Marionette Menu Command can be handy.
    It aligns objects to the bounding box buttom and stick it together to the bounding box width.
     
     

    1 download

       (0 reviews)

    0 comments

    Submitted

  2. DomC Nodes

    Attached a vwx with nodes. Some of them already shared as separate files. Also the list is not complete, not perfect and has no warranty of being up to date. Also some nodes may be outdated, obsolet or buggy.
     
    Take note:
    1. I tried to track the nodes with an addition record format
    2. Marionette Nodes are linked to a record format, this record format contains descreption and Other infos from to the node. 
    3. Also this Record contains a rating of the node (internal rating for me) like is this node hard to make, will it be useful for many users or just for one special case etc.
    4. The Record can be linked manually to a node and then the node's Data can be written by a script. Ration Infos logically has to be attached manually
    5. On the document is a worksheet with all nodes listed
    The Info below is originally from the nodes (included original misspelling etc :-)
     
    Node Names
     
    Symbol3D     ObjOnSpace     SymbolPopupSymFolder     SetWallHole     IsMember_already     SortNestedList     CreateDictsV     Sort     RotatePtRoundPt     FibonacciSphere     Wrapper     C_Tangent_to_CC     PtPerpendicularOnLine     CircCircInters     CircleLineInters     LineLineIntersec     Pt to Circle Center     2CircleCenterLine     2Circle_4Pts     Apollonius PCC CCC v1     subPoints     addPoints     PtTangToCircle     Wrapper     Wrapper     Get Z atXY     Grow Radial     is cw     Wrapper     Wrapper     Wrapper     2D Pt Shaker v01     HexCircleGrid     GetPtVectors     GetPolar180     DialogFolder     ExportPDF     ImportSU     function4     GetNextObject     PageBased_mm     VersionInfo     Button     MeshFromPoints     collectObjectOnArea     Any     SetPage     BBox Overlap     GetString     GetString     GetNumber     GetInsideChar     Print     GetMultiRecValue     GetActFile     GetNumDatabaseRow     GetSubCell     GetMultiRecField     Backward     DupInContainer     Solid Intersect List     DupOnAcLayer     DupOnAcLayer     ConvertToGroup     Reset Obj     BasicSolidReshapeScale     NumToRow     ObjByClassAndLayer     Set Class      MinItem     If_     SpaceWithObj     LocusMS     GetPointClusters     ConcaveHull     Create Viewport     Add VP Ann     VP Layer     Set Mrntt OIP Field     Get Mrntt OIP Field     Insert Symbol in Folder     CreateLayer     FilterValues     PtArrayStartEnd     ValuesToSaldo     Vector to Angle     PointRectangle     Wrapper     Eval     Eval     AttachUnit     Color     Custom Pulldown     EnhRectangle     RoundedBoard     2D_BBox_Enhanced     TypeToString     TypePopup     TypeCounter     GetRes     Get Sym Name     Name2Index     Text in Lines     TextBlockInLines     SetDimTextSize     SetTextSize     ListToLabel     TextBlockInLines     RecToTable     OpenDocFolder     GetActFile     ListDir     FileInfo os_stat     DateTime     GetActFile     DialogFolder     PlayMP3     Wrapper     Linear Array xyz     PutByRefPt     SymbolinFolder     Link Text     GetDictValue     Repeat_List     shuffle     shuffle_dup_true     looser     itemsToList     Remove Duplicate Items     UnnestL     GetFiles     Imp ini     Imp txt     Solid Boolean     GetRNames     Concat     MergeList     Flatten List S     LinearDimLight     Change Sheet Title     Get Sheet Title     Get Layer Name     Get SheetL Size     Get Sheet Page N     Manipulate File UTF     Custom Pulldown    
     
    Node Descriptions
    Descreption Insert a Symbol     Returns a List of Objects for every Space     Creates a popup of all Symbols in a Folder. You have to edit Script to change Folder     Set the input Geometry as a Wall hole of an object     Returns isM, if the corresponding object is already in the list Example list1 = [5,10,3,5] list2 = [a,b,c,d] notM = [a,b,c] isM = [d]     Sorts the elements in a list     Creates a Dictionary from an input key and a input value     Sorts the elements in a list     Rotate a Point around the center point     This node creates points on a sphere surface     Draws a parallel line through a specific point     Finds the intersection of two circles     returns the section point from a point perpendicular on a line     Finds the intersection of two circles     Finds the intersection of a circle and a Line     Returns true if two infinite lines intersect, and if so, provides a point where they intersect. The intersection point can be outside of the line segments     Finds the two infinite intersections of a line from center to a point     Resurns the intersection of the Line trough the middle of the Circles     Calculates Two Circles. The First one passes pt0 and pt1 and the pt2,pt2_alt which has the lowes distance to pt3. The second circle pass the remaining point      Returns the tangential Circles which touch the 3 input circles     Subtract two Points: c = a - b     Add two Points: c = a - b     Finds the two tangent points from a point to a circle               Returns the Z elevation of a point X,Y on the specified object     Grow a radius Value of input Points, till they touch others or with a min offset     quecks, if point is part of a cw or ccw direction, needs minimum 3 pts 
     input 2D or 3D Points                    Deletes Randomly Values of Input List. If density is 100 nothing will be deleted     A Hexagonal Circle Stacking lattice     Get 2D and 3D Angles of Points related to one center point     Return the angle and distance to (0,0)     Open a Dialog Box to Choose a Folder     Set Origin and height, width of the page     File Names or Folder Names of the input Directory     Enter your Formula in Input Field     Put This in a Wrapper with another Object. This node Returns the next Object (Stacking Ordner) after this node     A Real value defined in the OIP in document units          An example of how to use the Button widget. When the button is pressed, it will run the script contained in the specified definition.     Draws mesh or output polys from a regular rectangular horizontal grid of points     collects objects, which middle point is on a circle, poly or recangle     Create any value using the python eval function     Set Origin and height, width of the page      Checks on ever obj1 input, if one or more object from input obj2 overlap bounding box      Returns the string between two characters Returns new, string position and length.                    Prints the incoming items into a text object or the python console. The option                           'Run scripts in developer Mode' must be enabled in Vector Works to see the console output.     Returns the Data from a Record field. If the Object input is a list values are concat.     Path of the Actual Document     Gets number of Databese Rows and columns in the referenced Worksheet     Gets the numeric or String value of the referenced cell subrow     Returns the Data from a Record field. If the Object input is a list values are concat.     send to Back     Duplicates Objects in a Container or active Layer     This node performs a boolean operation between lists of objects. The operation will be performed for each possible combination of objects in the lists supplied.     Adds an object to the current layer     Adds an object to the current layer     Convert Symbol or PIO to group     Update the specified object using the current settings and parameter values.     This node will Intersect a Solid in 3 Parts. Cap1, Cap2 and Space. Scale middle (space) or scale caps     Converts as Example 1 to A and 56 to BD.     Creates a Criteria by class and Layer     Assigns a class to the referenced object     Returns the smallest item in the list     If test is true, pass the value to true output otherwise to false output     Returns all Spaces which overlap or touch the bounding box of the objs input     Creates a 2D or a 3D locus object     Detects Clusters of Points     Finds the convex hull of points     Creates a Viewport     Add an Annotation to the Viewport     Add an Annotation to the Viewport     Sets the value of a OIP Field, It uses a search and replace function for the field Name. If you have more fealds with similar names which match the search name it returns error code. Use Reset node after all changes of the PIOs     Get a value from an Marionette Wrapper or PIO     Move Symbol in a Symbol Folder. If no symbol name is inputted or the Symbol do not exist, this node just creates the folder     Creates a Design or a Sheet Layer (OIP Pupup to change layer type)     Extract Values within a specific range     Creates Pt array between two points     [1,2,3,4,5,6] goes to [1,3,6,10,15,21     Converts a 2D or 3D vector to an angle in degrees     Output 4 corner points of a rectangle          Enter your Formula in Input Field     Enter your Formula in Input Field     change input values to right document units     gets the Fill Back color of the node and returns it     A Dialog with 3 Popups     Creates a rectangle with the provided specifications, supports point of reference     3D Quader mit Verrundeten Kanten oder Einfache geometrie     Returns the bounding box's coordinates of the projection of an object on the screen plane               "Type Counter" collects Objects from an input criteria. It count, how many objects from which type there in this criteria.     List of document resources from a specific type     Returns the name of the referenced Symbol. Returns "none" if the object has no name assigned.     Converts as example a name from a dimension standard or a text style to an index number     Creates Text Line by Line, from an Input List     Creates Text Line by Line, from an Input List          Sets the Text Size of a Text Obj     Get Input RowNames and Lines and Attach them to the input text blocks, which have the same name like the row name. Group text objects, which are no fields     Creates Text Line by Line, from an Input List     Returns the value of a data record field.     Open the input Folder in Finder or Windows Explorer. Combine with GetActFile Node to have parent folder of active Document     Path of the Actual Document     File Names or Folder Names of the input Directory     Returns the Value from the Python os stat function     OutputActualDateTime     Path of the Actual Document     Open a Dialog Box to Choose a Folder               Creates a duplicate array of objects in x y or z direction     Moves a Refered Point from a 2D,3D Object to a specified 3D Point 
     for planar obj works in 2D view     Creates a List of all Symbols in a Folder     Link a Text Field in a Symbol to a Record Field     Returns the value of the input dict key     Repeats the complete input n Times     Randomize the input list     Randomize the input list     Deletes Randomly Values of Input List. If density is 100 nothing will be deleted     Input [0]value1,[1]value2 ... output [value1,value2 ....]     Removes the duplicate items from the input list.     Separates a list into its constituent items     File Names or Folder Names of the input Directory     Import an ini file with sections, keys and values     Import a Tab or character separated Text-File     This node performs a boolean operation between lists of objects. The operation will be performed for each possible combination of objects in the lists supplied.     Returns the Record Names attached to the Input Object     Enter your Formula in Input Field     Adds an List to the end of a list     Flattens a list, or list of lists     Creates a linear dimension with standard specifications     Changes the Description value of a Sheet Layer     Returns the name of the referenced layer     Returns the name of the referenced layer     Returns the width and height of the sheet layer     Returns the Number of pages     Open a file at the specified path     A Dialog with 3 Popups    
     

    16 downloads

       (2 reviews)

    0 comments

    Submitted

  3. Automated Layout

    Hi
    This Examples shows, how to automatically create sheet layers and viewports from objects of the design layers. In this example, a sheet layer will be created for every exhibition place available on the design layer. It creates a 1:20 close-up from the specific exhibitor's place and an overview plan with a marker of the exhibitors place.
     
    This Network-Template could be used whenever you want to create automatically documentations out of your drawing. As Example:
    - Put a Viewport of every Space Object in your drawing on SheetLayers
    - Put Viewports from Building Elements close-ups (Windows, Doors etc.) on sheet layers
     
    Also this Network contains some very powerful custom nodes:
    1. Enhances BBox, Enhanced Rectangle, PutByRefPoint those are just to save time for calculating width, length and ref point of objects
    2. Function Two (like standard function node with two inputs), SetParent
    (1. and 2. Already available on this forum)
     
    3. CreateLayer
    4. CreateViewport
    5. VP Layer Visibility
    6. Add VP Ann (Annotations in Viewport) 
     
    7. Nodes for getting Marionette OIP Data which is not possible with "Get Record Field"
     
     
     

    8 downloads

       (0 reviews)

    2 comments

    Updated

  4. 2D Light Effects PlugIn

    The Example file contains two PlugIns for 2D Light effects.
    https://youtu.be/34gu6EEvhog
     

    92 downloads

       (0 reviews)

    0 comments

    Updated

  5. Export SheetLayers as txt (Text-Tab)

    This Scripts help you exporting your layout structure to get an external list of your drawings if needed.
     
    Exports Sheet Name, Title, Page Size and Page Numbers. Export Folder can be selected. FileName.txt can be set in ObjectInfo of wrapper. Grey and orange nodes (Screenshot) are custom nodes. "Manipulate File" is edited (codex utf_8) to support special characters like äöüé etc.
    Note: I think Excel on Mac has issues handle the exported file's special characters (utf_8 encoding), not my fault I guess. The codex can be changed inside "Manipulate File" Node if you are not happy with the exported text encoding or find/replace on the other Software.
     

    13 downloads

       (0 reviews)

    0 comments

    Updated

  6. Growing Lines

    This example is based on a custom node. which returns a line pattern. This pattern is based on several while and random loops. I have not found a proper way to run a while loop over a marionette network so this is better to create in a custom node.
     
    It is easier to play with the example, than explaining exactly how it works. 
     
    Have fun with it. This is my base study to find a workflow to project any pattern on a NURBS Surface which would be a real scope of usage.
     
    Movie Link (first Part of Movie)
    https://youtu.be/GcFwW-k5Lms?list=PL8s_WkTvFQ2YdFlMfU7Teuh5QrmsO03gW
     

    Growing Lines 1.0.0.mp4  
     
     

    20 downloads

       (0 reviews)

    0 comments

    Updated

  7. Rectangle Line Pattern

    A Rectangle Line Pattern with a random option.
     
    Also the files show, hot how to project on a NURBS Surface. This 3D Projection contains two additional custom nodes.
     
    1. GetZatXY (Also used in many other examples on the community board)
    2. GetZamong Pt. Not so easy to understand. This nodes calculates the z value of a 2D Point between two 3D Points without trigonometry (faster). 
     
    Movie Link (2nd Part of Movie)
    https://youtu.be/GcFwW-k5Lms?list=PL8s_WkTvFQ2YdFlMfU7Teuh5QrmsO03gW
     

    15 downloads

       (0 reviews)

    0 comments

    Updated

  8. Reshape Node 2D

    https://youtu.be/vuCvK4OwN80 German Movie
    https://youtu.be/Nm0te1zmpVY English Movie
     
    Structure of the Input:
     
    1. Group with Geometry group (send to back) and Reshape Zone definition (send to front). Best practice is to use a blue smbol without screen plane objects
    2. Reshape Zone group has further groups. Every reshape zones (polygons) is grouped with a dimension object. The dimension is the link to the script. The parameter name is a prefix of the dimension text
    3. Use one of the existing examples to understand the system
     
    Limitations:
     
    1. Supportes not 3D, Chain Dimension, path objects, rectangles. Container objects are not reshaped but moved (like the reshape tool)
    2. user origin has to be set to vectorworks origin
    3. not mix of screen-plane and layer plane. Use all layer-plane
    4.  ...
     
     
     
     
     
    Parametric Symbol v2018.vwx

    55 downloads

       (0 reviews)

    1 comment

    Updated

  9. Bar Diagram

    A nice, small Marionette for creating bar diagrams. This is much more simpler and more flexible than a spread sheet bar diagram.
     
     
    Options:
    1. ColNames
    2. Col Values -> mandatory
    3. RefValue -> A bar with this value, has the height of the BArHeigtRefValue field
    4. BarWidth
    5. BarHeigtRefValue
    6. Invert -> A bigvalues results in small bar
     
    There is a 2 minute movie (without audio) 
    Bar Diagram.mp4

    13 downloads

       (0 reviews)

    0 comments

    Submitted

  10. Apartment Area

    This nice script summarize all Space-Areas, which are part of the same Appartement Number and shows the result in a symbol based stamp. Alternatively you can get apartment. Alternatively we can pull out sum of apartment area with a worksheet. But this Marionette is also a nice method to do this.
     
    Instructions:
    1. The Marionette Objects access to the field "11_Room ID" of the space object. Every other field can be used if necessary by editing script
    2. with the Marionette PIOs field "Raum ID" you can tell the stamp, which apartment should be displayed.
     
     
     
    Appartment Area.vwx

    23 downloads

       (0 reviews)

    9 comments

    Submitted

  11. Number to Row Name

    If you need Worksheet-like Numbering like A, B, C .... AA, AB ..... AAA .... This node offers you an easy solution.
    There are two nodes for both directions.
     
    Limitations:
    1. Input from special characters etc. will result in wrong values or errors. 
     

    7 downloads

       (0 reviews)

    0 comments

    Submitted

  12. Name2Index

    Some Ressource Types (such as dimension standard or text styles) are handled by an index number. This node helps to find the index of those resources.

    10 downloads

       (0 reviews)

    0 comments

    Submitted

  13. Point Rectangle

    This node creates optional a rectangle and returns the corner points of that rectangle.
    Often there is a need of a rectangle and the corner points. If the rectangle is rotated, it can be a cramp to calculate the corner points. I hope this node can help to simplify marionette workflows.

    14 downloads

       (0 reviews)

    0 comments

    Submitted

  14. Create Design or Sheet Layer

    This Node creates a new layer and keep the active layer the active one. 
    It has a popup witch allows to choose sheet or design layer. It returns a  handle to the new layer or a handle to an existing layer with the same name.
     
    Like ever .. with not warranty try first in an empty file and be careful creating thousands of layers or layers with the same name as other objects in the drawing. 

    7 downloads

       (0 reviews)

    0 comments

    Submitted

  15. Move Symbol in Folder or create Folder

    Insert Symbol in Folder Node:
     
    1. Move the Symbol with the input name in the folder with the input folder name
    2. If folder do not exists it will be created. If no symbol name is inputted, the folder created also
    3. If the folder name is taken by another object, the folder will not be created

    12 downloads

       (0 reviews)

    0 comments

    Updated

  16. Get and Set Marionette OIP Parameter

    With this two nodes, we are able to set or get the parameter of an Marionette PIO or wrapper.
    Can be used to access the values in the OIP by script or another Marionette.
    The Screenshot shows an example in which every of those pillar is an own marionette PIO (Script as symbol to instance the PIO). 
     
    Note:
    It is not possible to write the parameters via Worksheet. Also it is not possible to read Marionette Object parameters directly into a worksheet. To read Marionette object parameters in a worksheet I recommend to write data into a record format and list those values in a worksheet.
     
     
     

    19 downloads

       (0 reviews)

    0 comments

    Updated

  17. Enhanced Rectangle

    What is the distance of the middle top point to the insertion Point (left bottom), if your rectangle has 175.5° degrees? Not so easy calculate the move vector or the rotation for that. This node can help you to use your time for other challenges. You can place your rectangles with every standard reference Point in any angle in degrees.
     

    10 downloads

       (0 reviews)

    0 comments

    Submitted

  18. Reset Object

    Some Objects needs to be Updated after Changing the Object Properties. In this cases this node can help you.
    Reset Object.vwx

    7 downloads

       (0 reviews)

    0 comments

    Updated

  19. Symbol Link Text

    If you have many symbol definitions and have to link text to record fields. This Marionette can help you.

    14 downloads

       (0 reviews)

    0 comments

    Updated

  20. Locus with Mastersnap Point

    This is an enhancement of the standard locus point, with OIP Mastersnap or not.
     
     

    5 downloads

       (0 reviews)

    0 comments

    Submitted

  21. Spaces with objects

    This node sorts out all spaces which have a collision with one of the input objects. Can be used to detect, if a space contains a specific object.
    For collision points, the space polygon and the object's bounding box is used. There is a OIP dim parameter for tolerance value.
     
    The vwx contains a quick and dirty test floor plan, nothing real 🙂

    14 downloads

       (0 reviews)

    0 comments

    Updated

  22. Set Parent

    This Node puts objects in a parent Object (symbol, group, etc.)
     
    Inputs:
    1. Handle to Object which put into a container
    2. Handle Input to Parent Object (use "get Object" node to use a named container here like a symbol definition)
    3. Object Info Option "Reset". Reset Bounding Box and other attributes of the parent object
     
    Set Parent.vwx

    5 downloads

       (0 reviews)

    0 comments

    Updated

  23. Create Symbol

    "Create Symbol" creates a new symbol definition on the active document. Refresh resource manager if you create a new symbol with this node by just switch to another document and back in the resource manager.
     
    This node does not use "List absorb" so you can just insert one object into the symbol definition. Recommended to first create an empty symbol and then use "Set Parent" to attach several objects into the symbol.
     
     
    Create Symbol.vwx

    6 downloads

       (0 reviews)

    0 comments

    Submitted

  24. Point Cluster.vwx

    The "Point Cluster"- node detects points, which are within a given distance from other points in the same scope with an own algorithm (not python 3rd party module needed).
     

    9 downloads

       (0 reviews)

    0 comments

    Updated

  25. Concave Hull

    This node gets points clockwise with a given minimum distance. 
    The node has an additional option in the info-palette. Follow Deadlock means, that the hull can follow back the same points that already was used as a hull point. Deadlock off means, that a point can't be uses twice as a hull point.
     
    The Algorithm behind the node:
    1. Check, which points are in range of the point most left (bounding box for speed optimization)
    2. Check, which points are exactly in range of the distance value
    3. Check which angle in cw direction is the smallest and connect to this point
     
    I think there would be a speed optimization possible with normalized vectors etc. So i would call this a beta version of the node.
     
    Computing the angles of the vectors takes a while if there are many points. in combination with the cluster node it takes about 17 seconds for 4200 points. Seven Minutes for 8800 points. So check number of clusters and numbers of points.
     
    The Idea was, to have a workflow for vectorize an image. This is a complexe project. Maybe it is worth to check other algorhitms with existing python external modules. But so far it works quite nice. 
     

    4 downloads

       (0 reviews)

    0 comments

    Updated

 

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

 

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×