-
Posts
796 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Articles
Marionette
Store
Posts posted by Hippocode
-
-
Hello again,
thanks for the help with the other issues.
I have a 2D path PIO with an embedded symbol.
Does anybody has a clue how to get a handle to a symbol that is nested inside a PIO?
I'd like to make another Vectorscript to manipulate the POI objects inside the drawing. Therefore I need to get a handle to the symbols inside the POI objects.
Any ideas?
I'm not going to say it's impossible, but you should not do it this way.
You need to send information to the parent PIO, so it recalculates and redraws using your modified parameters.
Changes made to geometry in a PIO, not handled by the PIO recalculate event often look corrupt on the screen, particularly with symbols.
To get a handle to the symbol there are 2 ways:
- Traverse the contents of the parent PIO. A PIO is a group like object, and you can traverse everything inside.
- You could make it so the PIO has a Unique ID, and the Symbol has another Unique ID, based on the PIO one + some static characters.
This way, you can quickly find the symbol, with the unique name of the PIO.
-
You should be able to find a lot of ForEachObject examples in this forum. If you use your worksheet criteria and take care of the selection of each given handle you end up what you are looking for.
-
Have a look at the example dialogs provided by Vectorworks to get you started:
-
Just posting to second this motion
in the mean time is there a script to put the information we want to a worksheet?
If you are talking about a class legend .
Showing the class description as well has been a request from one of my clients and is scheduled for the next release.
-
I have no experience with the door tool but as you have noticed you can't just customise the behaviour of it, or any object for that matter.
If recalculating a door removes any of your custom attached records then there is no way to continue, as this means the door tool removes any record that is not native whenever it recalculates. If that's the case, can't you add custom fields to the door record itself in the plug-in options ?
About the custom label object:
What you need to do is give each door a unique name or identifier. Your label object should have a string parameter that can store this name. This way the label knows which door it's referring to.
With that name you can get the handle to the door, and in turn to any data attached.
Resetting the label whenever the door moves might not be possible with Vectorscript, it is with the SDK.
-
Indeed this is very very very important.
The biggest reason why Autocad has been such a succes in the past is because the program was accessible for everyone. Every school I went to teached Autocad only, While we were always given an older version from school, every student could get their hands on the latest version (cracked :blush: ).
While I do not encourage illegal software, just the fact that every student could easily start working with only one software, the choice was easy. It made me discover the program in my free time out of interest. At that point, I didn't even know others existed.
So in whatever way it's done, students need easy acces to Vectorworks as they are your future clients.
-
Thanks, for the link, it happens to be the mentioned plugin issue. (I still have an older version installed from testing before deciding on a purchase). I'll update the plugin later and then try again.
Yes updating or removing will solve your issue, snorry! :blush:
-
I do assume all symbols have the same IFC record attached, otherwise it might be a little more tricky.
I suspect it will be trickier too! The symbols all have their own set of unique values apart from one field where they all share the same email address...
You can do this in two ways:
- Convert your symbols step wise by certain criteria untill you've edited them all.
- Convert them all at once and sort on fieldvalues in the bottom list browser so you can clearly select objects that share a certain parameter, and edit those.
Also note that even if you try to edit a parameter with different values you can still unlock it and change the value.
-
When using the loft function there are some settings that can be setup, does your node use the same settings as when you do it manually by the provided tool?
Also, try to (if possible) to keep the number of vertexes between different profiles the same, as this can give some unwanted results. Also the order of vertexes and the direction of each poly can cause deformations.
From looking at your example file ( PDF is empty) I'd say it does loft in the correct order (which should be the order of the elements added to the group), but it flips the middle shape.
I'd suggest you first try this with 3 simplified shapes and do some trial and error
-
I downloaded and installed the trial version, but it couldn't seem to show my data? Could it be that the symbols are not parametric?
Yes something I overlooked. Because the symbol definition does not contain the IFC record, it's not shown. It would work for a parametric object.
However, the following workaround should work:
Convert all your symbols into the provided SymbolObject which is just a wrapper object for symbols.
There is a specific menu command for this "Convert to SymbolObject".
Next, list the SymbolObject instead which does give you the option to change the data if you enable all options in the settings tab.
If you don't want to continue with the SymbolObjects you can simply EXPLODE these objects and you will end up with the original symbol, but now with the correct data
I did a quick test and it worked out. I do assume all symbols have the same IFC record attached, otherwise it might be a little more tricky.
Let me know how it goes.
-
And/or, what it might be is that I did *not* reinstall the Extensio plugin with my clean install of VW 2016. So probably VW 2016 was just searching for the plugin and then timing out, resulting in long delay.
The plug-in itself shouldn't be causing any delays as it doesn't do anything special on start up.
It could be, because you used a workspace with these tools included, but not installed, it does trigger a delay but I wonder why VW would do that.
Give me a shout when you run into this issue again.
-
Since you won't be importing the full library to a new document, I don't think you need to worry about the size.
You might consider splitting it up over multiple files, depending on how you want to categorize it a little more, but this can be very specific to your needs.
I'm assuming your library are base objects you need to edit differently for each object ? Otherwise, keep them as symbols when inserting.
-
This handy tool should be able to do it:
http://www.hippocode.com/Extensio/menucommands/organisation-objects
It's a quick way to look at and edit data in parametric objects or symbols. You can even show hidden fields, hidden records and IFC records if setup accordingly in the settings tab.
-
Well since you can make your own worksheet functions nowadays it should be possible.
-
http://developer.vectorworks.net/index.php/SDK:Tutorial this page briefly handles a plug-in library for mac/windows. You can just look at the file structure of existing plug-ins in your installation as well.
I have no experience with using tool events in VS, but yes I assume those are which you need.
-
Hi Dob,
This is one of the things my SymbolObject does. It automatically registers the space name, number and building it is in.
You can use this to summarise and display your symbols in a sheet.
-
Yes you need a link to an image, in a resource file. This could be one of your own, or even one of the default in Vectorworks available libraries.
Also, your button disappearing is probably because of how the modebar works. I only know how to work with it in the SDK, but the workflow should be the same.
The modebar constantly recreates itself, so you will need to add items to your modebar in one of the available events, it keeps recreating.
-
Thanks Hippocode and Dieter for replying.
It would be easier to use a popup, which is what I've been using until I found out about the SymbolDisplayControl function.
The reason I'm trying to get SymbolDisplayControl to work is because it has a bigger preview window.
This exercise is to enable our users to browse our Architectural Details from an external file/files. By text search and visual display.
If you stay into the importing symbols option, be aware of what has to be done with duplicates. What if the user has imported one of these symbols before, kept the name but modified it ? Will you just overwrite it ?
-
Ah ok.
What does deleting resource list actually do? Does it delete the actual object(eg symbol) from the file? Including all classes/textures associated with objects in that symbol as well?
No a list is just a list of some sort of handle to the object. Adding or removing items from the list has nothing to do with adding or removing a resource.
See it as a list of symbol names, removing a name (string) from a list doesn't delete the symbol.
In your case that's great as you know which symbols to delete without having to do a search.
FYI, if you use a thumbnail control, the symbols don't need to be imported for them to show up.
Have a look at my SelectSymbolDialog which is also available as a custom VS function.
-
I think the easiest way is to use criteria and the count function to find out if a class is being used.
If that doesn't do it, traversing all the objects manually with one of the available functions yes.
But it might get tricky for symbol definitions not used in the drawing. You could traverse each definition and search it's contents as well.
Any way, it's important you do a deep search, including group contents and make the search recursive.
http://www.vectorworks.net/support/custom/vscript/example
Shows some recursive functions.
-
You can link a symbol definition text field to a attached symbol record field. For those symbols you want to show it, you fill the record field with the text.
-
As I mentioned earlier, use the custom selection menu command to create the criteria string if you can't make it work. Also, there are various topics to be found showing how this criteria is supposed to be setup.
-
Your current criteria is "LW = oldWeight". try adding AND SELECTED which will probably work.
Honestly the easiest way is to create a custom selection into a script, which will create the criteria for you. Then copy it inside your script.
-
Change your criteria to use selected objects only.
How do I get a handle to a symbol within a PIO?
in Vectorscript
Posted · Edited by Hippocode
Yes, the PIO should always be in control of the internal geometry and data, unless you make very special objects that do not redraw on each reset.
I'm not sure that is possible with VS. I do it with some of my plug-ins, using the SDK. Only on certain events, the PIO redraws it's contents. In any other, it keeps it's data instead of recreating it.
What I do with my SymbolObject, is that whenever someone selects a symbol to display, it also copies all attached symbol records and assigns them to the SymbolObject itself. Then, every reset of the SymbolObject copies this data into the internal symbol. This way they both have the same data attached, and the client can still control the symbol data without having to explode the PIO.