Jump to content

Nico Vindevogel

Member
  • Posts

    20
  • Joined

  • Last visited

Posts posted by Nico Vindevogel

  1. Thank you @DomC,

    This works very well. I use a few plug-ins made in marionette and converted via export script etc.

    Because I could not figure this out, I created a node that you have to connect behind the circle. It works with my node too (only  in pio). I use a different function SetTopPlan2DComp (ver.2019). I still have to figure out how to stack the 2d tiles right so that the small ones are visible above the large surfaces. Thank you for spending your time and helping us !!! (Custom Node included)

     

    image.thumb.png.3a3ae10748996d239bdd9acea31e154f.png

    SetTopPlan2DComp.vwx

    Cube3DTocircleForum.vso

  2. Does anyone have an example of how to include the 2d hybrid information in a marionette network? I have added a small network to clarify.
    The cube may only be visible in 3d mode. the circle in 2dtop plan view.
    In the vector script referece guide something is mentioned,(http://developer.vectorworks.net/index.php/VS:SetTopPlan2DComp) but are marionette nodes available?

    If someone has an example network, I would love to see it!

     

    image.thumb.png.003bd2221a3cb32f949faae723bc10d4.png

     

    image.thumb.png.a47bfac923b3428854a840b47224fae4.png

     

     

    Cube to 2dcircel.vwx

  3.  

    Thank you for your quick response. It works perfectly!

    I test the same network with connected records. See attached.

    Now I have the problem if no rectangle is made, I get an error. But the network remains working well. Is there a way to not create 7 rectangles first and then delete what I do not need?

    I work on a cabinet which automatically calculates the width and height of the front. However, I want the ability to customize the layout like the test network. Removing the door from the original cabinet is not a problem because it is always calculated and, if necessary, removed at the end of the script. My goal is, if the test network input is empty, no panels will be calculated + the original door will be retained.

    The worksheet i am using to get te panel-data also attached.

     

    My non-working approach:

    Changing the handle from the set record node. from (0) to (None)

    #inObj = Marionette.PortIn( vs.Handle(0), 'obj' ) #To # inObj = Marionette.PortIn( vs.Handle(None), 'obj' )

     

    Thx for any advice.

    Regards Nico

     

    NodeToStackPanels.vwx

  4.  

    Hi,

    I need a node that places the panels above each other. Attached a small network to explain what I want to achieve. Is there a possibility to solve this with a single node? I don't want to slow down the speed of my network.

     

    Example:

    I have a list like this:

    [0] =0

    [1]=500

    [2]=400

    [3]=300

     

    And i want the result of the list look like this:

    [0]=0

    [1]=0 + 500

    [2]=0+500+400

    [3]=0+500+400+300

     

    All hints are welcome.

    Regards Nico

     

     

     

    NodeToStackPanels.vwx

  5. Hi DomC
     
    Yesterday i found a part of the solution:
    ->I want to store calculated values in the Fx_Value
    -It is typed in txt don't run it :)

    @Marionette.NodeDefinition
    class Params(metaclass = Marionette.OrderedClass):
         this = Marionette.Node( 'aNode' )
         Fx_Value = (0.0)
         #__Old__Unused port in#Fx_Value = Marionette.OIPControl( 'Dim', Marionette.WidgetType.RealCoord, 0.0)
        
         Corpus_Breedte = Marionette.PortIn('0','Breedte')
         Dikte_Zijde_L = Marionette.PortIn('0','Dikte_Zijde_L')
         Dikte_Zijde_R = Marionette.PortIn('0','Dikte_Zijde_R')
         Waarde_Slag_Of_Groef = 2
     
    def RunNode(self):        
         Fx_Value = Corpus_Breedte - Dikte_Zijde_L - Dikte_Zijde_R + Waarde_Slag_Of_Groef
     
        self.Params.port1_out.value = Fx_Value + 20 +20
        self.Params.port2_out.value = Fx_Value +  Fx_Value2
     
     
    The solution for boolean value i didn't find:
    Maybe i have to try something like below...
     
    @Marionette.NodeDefinition
    class Params(metaclass = Marionette.OrderedClass):
        this = Marionette.Node( 'aNode' )
        Marionette.variable_name = False
        ###Not working #### variable_name = False
     
    def RunNode(self):    
        Fx_Value = Marionette.variable_name
        vs.Message(str(Fx_Value))  
  6. Hi,
     
    I want to store a value inside a parameter.
    I don't want to create a portIn to define a parameter, or use the OIPControl method.
    Is there an other way to store an calculated value inside my node?
    I think this must be easy, but i can not find the appropriate syntax.
    This is what i don't want to use:
    Fx_Value = Marionette.OIPControl( 'Dim', Marionette.WidgetType.RealCoord, 0.0)
    OR
    Fx_Value = Marionette.PortIn('0','Calculated value')
     
    Can i for example do something like this to store a value.
    Fx_Value = (),Realcoord,0.0 
     
    Below you can find my code to check 2 input ports.
    At the moment i store the result in a parameter defined by a Marionette.PortIn.
    My network is running but the node looks ugly. Lots of unused input ports, Or OIPControls whithout a destination.
     
    Example:
     #___Begin___Controle Boolean 
     self.Params.Fx_Value.value = self.Params.Slag_Of_Groef.value > 0
     if self.Params.Fx_Value.value:
      self.Params.breedte_Rug.value = Waarde_Slag_Of_Groef + Corpus_Breedte - Dikte_Zijde_L - Dikte_Zijde_R + Waarde_Slag_Of_Groef
     else:
      self.Params.breedte_Rug.value = Corpus_Breedte - Dikte_Zijde_L - Dikte_Zijde_R
     #___Einde___Controle
     
    Can someone point me in the right direction?
     
     
    Pic off unused oipcontrols:

    unused oipcontrols.jpg

  7. Prefixing the imput nodes to sort oip does not work as it belongs for me.

    If you create a simple box with a width of 600. Then you insert the box into the drawing and change the width to 400.

    You copy paste a new insance of the box and you get a box of 600 wide again. While you want a box of 400. (600 is used when the network is wrapped)

    To sort the oip I use following method.

    First I place all my input fields in an ordered list, then i use immediately a list explode node.

    To wrap the network you have to right click on the list explode node and NOT on just a node you preffer.

     

    @Stephan Moenninghoff

    Can you post an example how to use te seperator? I see in the pic above you figured it out...

    Thx

     

     

    oip sorping.jpg

  8. resolved.

    1st I used a prefix to sort the input in oip. That is not working properly.

    2nd the zero point should be X 0 Y0 (in the new drawing). As the little square at the top left is yellow then the script does not work.

    3rd import the scripted symbol first to the resource brouwser, then drop it into drawingspace.

     

    Thx for the advice.

     

    Greetings,

    Nico

     

     

  9. On 5-2-2017 at 10:24 PM, Alan Woodwell said:

    @Nico VindevogelHi I think the issue is the Parent PIO Node. This is used when wrapped into an object. Think this is correct but am sure I stand corrected, but it appears to work as per revised network. Nice bit of work also.

    1objectnode2records-01.vwx

    @Alan Woodwell I spent hours searching for a solution, and apparently you had it already in minutes. Keep up the good work. And many Thanks.

  10. 2 hours ago, MarissaF said:

    Hi Nico!

     

    I'm going to do my best to explain this to you. I've attached a file with a modified version of your original Marionette object.

    What I did:

    Instead of using the Parent PIO node, I used the resulting object from your Linear Extrude nodes as the 'obj' input to all of the record nodes. This will allow the record to attach only to the extruded rectangles rather than the entire Marionette object.

    In order to create a report that shows these records, it's very important that in the "Create Report" dialog box that you select "Options..." and check "Search in plug-in objects." The report will not see those objects otherwise.

     

    I increased the lineweight on the nodes that I changed connections on.

     

    I hope this helps! Please let me know if I need to clarify anything further.

    RecordsAndMarionette_MFarrell.vwx

    recordHelp.PNG

    @MFarrell  Thank you! Thank you! Thank you! 

    This solves my quest. :)

     

     

     

  11. 3 hours ago, MarissaF said:

     

    Hi Nico!

    Can you clarify for me, are you hoping to have each of the extruded rectangles have different record data, or are you trying to attach the record data to the entirety of the Marionette object?

    Both are possible, I just want to make sure we're on the same page before I take things in an entirely different direction than you're looking for.

     

    Also, if Alan's example helped at all, then that's great as well :) 

     

    Marissa (aka MFarrell ;) I wrote those nodes.)

    Hi Marissa,

     

    You are spot on, I want different data for each extruded rectangle.

    If it's possible to do that it would be great.

     

    @ Alan, thank you for trying my network.

    the worksheet was my first idea, unfortunately i can not filter the data to another worksheet. A better way for me is to work with records.

     

     

     

     

     

     

     

  12. Hey,
    I added a small part of a script to explain where I get stuck.
    What I want to achieve is to link a record to each component made in the script. I want to use records because i want to filter the data.
    Unfortunately, I think only one record can be linked to an object-node. In my example I create 2 records (same name) and only one is visible. Is there a way to associate a record to each piece in the script? It is not necessary to see the records in the oip , if its possible to get the data in a regular worksheet it would be perfect.
    A worksheet in the script is possible (used custom nodes #Created by MFarrell) .
    In the worksheet I can see the data from the two parts created. Problem there is, if the object instance returns 5 times i get only one worksheet in the resource manager.

    Can someone help me out? Maybe i have to approach it differently. Every hint is welcome.

    1objectnode2records.vwx

  13. Thanks for trying my network.
    Perhaps adding a pio handle is the solution? If i use the move-copy tool, the symbol returns the default values when it was created or wrapped to the object node. I just can not figure it out where i have to add the pio handle. Some one has an example available?

     

    Nico

     

     

  14. Hello forum members.

     

    I created a simple 2d cabinet marionette network.
    It works fine as long i use it in my original file.
    If i create a symbol from my "object node" and use it in the original file it works.
    If i open a new file and place the symbol using the resources - favorites pallet, it sometimes works...
    If my network would never work , maybe i was capable to find the solution.


    For the enthusiast that what to help me, add my file to your favorites and try to change the "corpusbreedte" ("Cabinet Width") and see what happens. Maybe it works...

    My errors are not always the same it differs from a error in oipcontrol to a mixt up object from the original.

     

    Nico

    ps. Sorry for my lack of language; All two of them "Marionette" and English. :)

     

    OS: window10 ; vw2016 architect ; interiorcad ;

    CabinetFront.vwx

×
×
  • Create New...