Jump to content

Mark Flamer

Member
  • Posts

    52
  • Joined

  • Last visited

Everything posted by Mark Flamer

  1. I made the following changes to the file. - I checked the "Create a duplicate object" option in the Name node. Otherwise the Shell node consumes the surface on the first run. - I removed the ungroup nodes. Even though the result of a node creating geometry ends up in a group in the work space, the objects themselves are what get passed through the wires. So ungrouping is not necessary here. If fact what you are telling it to ungroup here is the objects, not the groups. In this example, harmless but in other cases I could see it causing problems. Like, if you were passing a plugin object to the ungroup node, it would try and ungroup the plugin. - I switched the order of the inputs to the Boolean node. We want to add each of the ribs to the shell, not add the shell to each of the ribs. Maybe I need to explain this in the description for the Boolean node or change the logic so there is no difference.....not sure if that’s possible or desirable in all cases. Things get complicated with lists and lists of lists and what the "correct" behavior is.
  2. Because the geometry is generated by 2 nodes. 1 creates a polygon and another creates some duplicates. They are independant operations.
  3. Each node that generates geometry (or duplicates it) puts it in a group. This group is what links the geometry back to the node that created it so it can be deleted when the script is run again. These groups are not passed through the wires because what we actually want to manipulate (usually) in the network is the geometry, not the container group. Not sure there is a bug here. What exactly is the problem? maybe I can come up with a solution.
  4. The "Control Geometry Group" is a group that is normally hidden visually on a Marionette Object. It can be used to hold extra geometry that can then be referenced in a script using the "Control Geometry Node". It's the same thing as the Path group of an Extrude Along Path object. The Control Geometry group can be accessed and modified through the context menu or on the normal "Modify->Edit Marionette" menu command. So, an example of use might be a custom "duplicate along path" object. The script could draw some geometry and then copy it along a polyline kept in the Control Geometry group. Some types of control geometry (polylines) will also allow the object to be reshaped using the reshape tool. Usually I will build a script and use a "Name" node to get a object by name (future control geometry) while testing & prototyping. When I'm happy with the results I will swap the "Name" node for a "Control Geometry" node, convert it to a Wrapper then convert it to a Marionette Object with the named object also selected. This will put the selected geometry in the Control Geometry group for you on conversion. Or, just convert from wrapper to Marionette Object then manually put the object into the control geometry group after. Hope this helps make it clearer. It's a little complicated to get at first but does significantly add to the power of Marionette Objects.
  5. Matt, that node allows you to set the geometry that the Marionette Object will use for cutting wall, roof, and slab holes, when inserted. Just like the VS function.
  6. Ah, both on mac. OK, probably a mac only problem. I'll fire up the mac and see whats up. Thanks.
  7. I can't duplicate the crash here, but I do see the rotate problem and am fixing it. It is only a problem when rotating a planar object inside of a Marionette object. If you rotate the extrude instead it should work. Please let me know if anyone else is getting a crash with this file. Sorry for the inconvenience.
  8. The great thing about Marionette is that it allows us to use any of the existing Python libraries.....and there are alot of them. Scipy and Numpy for example, are huge libraries with lots of good stuff and can be installed using these instructions. The idea is that for VW and Marionette to have access to them they need to be installed in the "Python33\Lib\site-packages" folder of the VW application. Also attached is an example of using these libraries (a couple of functions from them wrapped in a node) to generate a random Voronoi pattern as a plugin object. I'm hoping to provide a stand alone installer for some of these libraries in the near future, it's a little tricky curently. Let me know if you have problems. VoronoiObj.vwx
  9. There is also a wiki page started for Marionette. It does explain some details that are not documented anywhere else. All you need to do to contribute to the page is register. So, please help us make this an active source of information for everyone. http://developer.vectorworks.net/index.php/Marionette
  10. Glad you both like it. We had a great intern here over the summer who contributed alot to Marionette. His final project was a network that leveraged some external Python libraries to download realtime weather data from the internet, create a Voronoi diagram from the data points and plot the result on a map of the earth. Here is a picture, I'll pull the .vwx files together soon and post them.
  11. This is one of the files used in the Marionette launch video. It was created by Dominique Corpataux at Computerworks. https://dl.dropboxusercontent.com/u/17287854/GenerischeFassade%20v0.44.vwx
  12. There is a system that catches some of the Marionette errors and presents the user with a somewhat nicer dialog and offers to show which node the problem was in. As you have discovered, it does not catch all the errors before they throw the ugly script error dialog. I agree there is lots of room for improvement here.
  13. You can add popup controls but, currently the list of choices only updates when the definition script is executed (when the user clicks "OK" in the script editor window). This is towards the top of the list of improvements I would like to make. As far as "Control Geometry" goes, it can only be 1 object....but there is no reason that object cant be a group. Then just use "FInGroup" and "NextObj" to traverse a list of objects in the group.
  14. This is a great example of a simple "Bread and Butter" script as I like to call them, a script that automates a simple day to day task and saves the user a few minutes. Most people think of flashy, curvy geometry when you mention graphical scripting. I think the fact that Marionette is integrated into VW and allows these day to day tasks to be automated is really useful. Thanks for sharing.
  15. The 3 attached files demonstrate using Marionette to generate a roof truss from a guide curve. - Truss Network.vwx : This file contains a network that uses a named curve and some dimensional input parameters to produce truss geometry as extrudes on the layer plane. - Truss Node.vwx : This file wraps the truss network from the first file and uses it within another network. This network takes a freeform NURBS surface, slices it into a series of curves using the contour node, and generates a truss from each curve. - Truss Object.vwx : This file demonstrates the truss network wrapped and converted to an object. You can change the parameters in the OIP or reshape using the reshape tool.
  16. The attached file demonstrates the use of Marionette to access the internet and import an image from Google Maps. The map location and orientation are based on the setings in the Heliodon object.
  17. A Marionette object will update whenever you change any of it's OIP parameters, move/rotate it, adjust it's control geometry using the reshape tool, etc.
  18. Maybe this.....? "I do wonder whether there are any architects on staff at VW and whether they have they ever worked on projects bigger than a single family house…."
×
×
  • Create New...