Jump to content


  • Posts

  • Joined

  • Last visited


20 Great


Personal Information

  • Location

Recent Profile Visitors

1,796 profile views
  1. And here is the automatic translation, for all those who have the same problem again. Uncontrolled from DeepL. Hello Flo, you don't necessarily need to program this in the script. It is enough to think of a clever filter that you can use in the table. I have put a part of the Marionette objects in another class (as a filter then the class taken) Marionette object name I tried but did not get to run. If this is not enough you have to rewrite the script to check if the values exist. But I personally don't like the solution with the script. It would be easier to attach a database to the puppet objects and to write the desired "parameters" in the puppet object directly into the database. Then you can also "capture" everything possible in addition e.g. the area of the rectangle etc. Tip: With the node "Parent Pio or now ("Marionette Object" in VW2023) you get the data to the Marionette Object. Without it, the data are attached to the rectangle in the marionette object. Greetings Markus
  2. Hi I would like to build a translator. It should refer only to the document structure. Texts placed in the document can be disregarded. The rest should be translated. For this I have encountered some problems. - Is there an easy way to generate a list that contains all symbols, wall styles, line types, folders, etc.? - What kind of object has the object type 57? I found it by examining the parent object of a folder. Unfortunately, it is not listed in the appendix. - Similar to point 1: Is there a way to loop through all data visualizations. Again, unfortunately, I have not found any documentation. Thanks in advance for the help.
  3. Too bad, I don't know C++. Is there any way to make the listener work in C++ but call a Python script in it? And how complex is the whole thing with the SDK?
  4. Hi all I would like to create a code that is executed when an object is selected. Optimally it would be any object, determined by its name, but if it's easier it could be a PIO. Is this possible (only in Python) and if so are there any examples? Thanks in advance for the answers. Manuel
  5. Not sure if it helps you. But there is a marionette node for selecting symbols.
  6. For the visibilities you can use SetVPClassVisibility. In the function reference you can find it under the group Objects - Groups. There should actually be an object variable for the texts. If I am not mistaken, it should be 1029 - Flip Text. But it has not been tested.
  7. MRoth

    Nurbs Surface

    😀 Puppet node is the DeepL term of a marionette node when translated from German.
  8. Some time ago DomCcreated this Nodes to manipulate the parameters of an Marionettenode.
  9. Some time ago I created a script in the german forum that transfers settings from one viewport to another. Maybe even the English version is online. Unfortunately I never got around to publishing the script here, because it might need some extensions.
  10. Maybe I have an idea. But I'd like to run a few tests of my own before I promise too much. For these tests I would need some more details. - It seems as if you always fill one half of the shelf with plates and the other with glasses and bowls. Is that correct? - What are the diameters of your dishes? - Are there any specifications for your shelf regarding size? For example, only with certain depths?
  11. Are these all individual objects that can be placed completely randomly or would it be possible, for example, to pack the glasses in a predefined block. This block would have a length that could be used again.
  12. At the node level this can't work as far as I know. But mostly a loop can be bypassed. In your case you could divide the length of your shelf by the width of your objects and get the number of objects that fit into your shelf. Now that you know how many objects it takes, you can use a range node and some math to calculate the insertion points and then place the objects. With objects of different widths it gets more difficult, but there should be a solution here as well. Otherwise you will not be able to avoid a user-defined node. Is this about your books or another project?
  13. Because I am using a student version, I can't send you the finished node. So here's the code that does what you want. #MRoth #V1.0 20200523 @Marionette.NodeDefinition class Params(metaclass = Marionette.OrderedClass): #APPEARANCE #Name this = Marionette.Node( 'Get Part Min' ) this.SetDescription( 'Break the list into a list of lists of length n' ) #Input Ports inList = Marionette.PortIn( [], "list" ) inList.SetDescription( "The input list" ) n = Marionette.PortIn( 1, 'nStep' ) n.SetDescription('Number of items per split list') #OIP Controls #Output Ports list = Marionette.PortOut('lists') list.SetDescription( "The result lists" ) mi = Marionette.PortOut('nMin') mi.SetDescription( "The min value per list" ) bo = Marionette.PortOut('iIndex') bo.SetDescription( "A bool that indicates whether it is the min value in the list." ) ind = Marionette.PortOut('bMin') ind.SetDescription( "The indexes of all min values." ) #BEHAVIOR this.SetListAbsorb() def RunNode(self): #inputs list = self.Params.inList.value n = self.Params.n.value #script n = n[0] newList = [list[x:x+n] for x in range(0, len(list), n)] mins = [] bools = [] index = [] for x in range(len(newList)): l = newList[x] m = min(l) mins.append(m) for y in range(len(l)): item = l[y] if m == item: bools.append(True) index.append(n * x + y) else: bools.append(False) #outputs self.Params.list.value = newList self.Params.mi.value = mins self.Params.bo.value = bools self.Params.ind.value = index And here how the node is installed. There are certainly better ways to build the node, but the above one works, which in my opinion, is the most important thing.
  14. The popup node should be located in the Inputs-Intermediate folder.
  15. Some time ago I created a wrapper that inserts a symbol at a 3D coordinate. Symbol 3D.vwx I do not know how to import a symbol from the favorites.
  • Create New...