Jump to content

MRoth

Member
  • Posts

    59
  • Joined

  • Last visited

Everything posted by MRoth

  1. Not sure if it helps you. But there is a marionette node for selecting symbols.
  2. 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.
  3. MRoth

    Nurbs Surface

    ­čśÇ Puppet node is the DeepL term of a marionette node when translated from German.
  4. Some time ago DomCcreated this Nodes to manipulate the parameters of an Marionettenode.
  5. 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.
  6. 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?
  7. 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.
  8. 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?
  9. 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.
  10. The popup node should be located in the Inputs-Intermediate folder.
  11. 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.
  12. I forgot to tell you. To change the distances you can simply change the mass at d = (2072, 0, 0) #(x, y, z) Dimensions are in mm.
  13. I wrote you four scripts that duplicate an object and move it by the desired distance. Excuse me for bad scripting style. But it should work. Move Right.vsm Move Left.vsm Move Down.vsm Move Down.vsm Move Up.vsm
  14. How do you want to enter the values? In a separate dialog box. In this case I would recommend you to use CTRL + D [Duplicate] and then CTRL + (ALT) + M [Move/Move 3D. If there schould be a command for each direction and length of movement, there will be six commands. But they are quite easy to create.
  15. MRoth

    SetCharColor

    Hello everybody I'm looking for a function to set the color of a single character of a text. So exactly the opposite of GetCharColor. I want to install this function in a marionette node. That's why it would have to be a Python command. Thanks for the help.
  16. Hello @Marissa Farrell I would like to take up the question above again. Is there a list of commands somewhere that you have added to the default nodes under #Behavior? Preferably also with effects on the node. I mean code lines, like these: this.SetLinksObjects() this.SetListAbsorb()
  17. If you use the node in a marionette command, you can use it to perform actions on a selected object. Actually Objects by Criteria would work too, but I find this node easier to handle.
  18. Version 1.0 (2020)

    29 downloads

    This Node sends an object to the front of the stacking order. If several items are moved foreward, the first item in the list will appear at the bottom, cause the subsequent items are placed in front of the first item.
  19. Version 1.0 (2020)

    27 downloads

    This Node sends an object to the back of the stacking order. If several items are moved backwards, the first item in the list will appear at the top, cause the subsequent items are placed behind the first item.
  20. Version 1.0 (2020)

    28 downloads

    Unlike the default string node, this node can also convert lists into individual strings and Python elements into strings.
  21. Version 1.0 (2020)

    17 downloads

    Assigns the hGet attributes to the hSet object.
  22. Version 1.0 (2020)

    15 downloads

    This node returns TRUE if at least one input is TRUE. In some cases where you have many booleans, it is easier to use this node instead of the default or-node.
  23. MRoth

    Now

    If someone needs another language, I would need the names of the months and days of the week including the corresponding abbreviations to add them to the node.
  24. MRoth

    Now

    Version 1.0 (2020)

    14 downloads

    Returns a string that represents the current date/time.
  25. MRoth

    Ncs2Rgb

    I was not able to find a formula for the reverse. Maybe someone has an idea.
├Ś
├Ś
  • Create New...