Jump to content


  • Content count

  • Joined

  • Last visited

Community Reputation

12 Good


About Hippocode

  • Rank
    500 Club

Personal Information

  • Location

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hippocode

    Sample VST with Mode Bar Buttons

    I don't think you can either. In vectorscript tools are generated automatically fitting the plugin type. In the SDK, these are separate and can be customized.
  2. Hippocode

    Multi Layer Symbols

    Yes our SymbolObject plug-in does exactly that. It can be very useful for indicating shafts and other components that have exact the same composition through multiple layers. You can choose to show the symbol on any combination of layers from a selection box. This is made possible by using the proxy object functionality and works best with 2D symbols only. The object duplicates it's content on all the chosen design layers. While you can select and modify this object on any of these layers, it is one unique object. It is also possible to count all the occurrences when using worksheets.
  3. Sadly I won't be able to come to the DS this year, but I do like the idea. I'd say it should be even part of the DS, but I guess our numbers are probably to small for Vectorworks to invest their valuable time of the summit. Then again my opinion is that if you have zero custom scripts/tools/addons active in your workspace, you are doing it wrong and need help
  4. Hippocode

    Plug-In Styles

    From what I understand, plug-in styles are only supported if your object matches a unique ID hardcoded into Vectorworks (by request). It is required for your object to be recognized by the functionality.
  5. If you debug you should be able to see on which line the error occurs? Also, you don't need to define "poly" on declaration.
  6. if object A is the parent and it creates object B inside of it (parent - child) there is no need of catching it with a unique name, as you have a handle when creating it. That is, unless you have your object A set not to automatically remove all it's contents on reset, on which case your interface manages it. This is used if you don't wat to recreate all the inner objects each time the object is reset.
  7. It only requires one argument, unless you want to specify a path/profile. Your object will be created and reset. Only after this creation the path will be attached and reset again. In any case, your object's code should be able to handle a NULL path. Can you post a bit more of the last steps before the crash occurs ? Could also be a recursive reset.
  8. Yes, I assume you are not veryfing the path handle. When your parent creates the child, it could be that the first reset is called before your path is assigned. If you just assume its a correct handle and cast it to a nurbs or poly you'll run into this. Since you talk about parent and child, can I assume you've set your plug-in not to remove it's content on reset? If not you do not need to get the handle by using a unique name.
  9. Hippocode

    How to set the default class of a custom plug-in object?

    I usually add a class parameter that overrides the object class on object recalculation. I only do this when the current class does not match the class of the parameter to avoid infinite recursion as mentioned above. Though it could be that setting a class does not reset the object anymore, something changed about it a couple versions back.
  10. Hippocode

    Global coordinates in a PIO

    Your object origin is always 0,0 towards your object insertionpoint. Knowing that, for your object to show something at an absolute position in the drawing, all you need to do is substract the object position from the relative position of the part within the object. Say you want something shown absolute at A(50,50), your object is placed at B(25,25) => The inner component of your object should be placed at A-B. Keep in mind that this does not take in rotation, you should apply the transformationmatrix of the object instead for this to work.
  11. Hippocode

    Write record information to symbol

    Assuming you have one instance of this symbol selected, you can use the active handle to retrieve the values, get the handle to the definition itself and overwrite them. From then on, any new placed instance will use the updated record information.
  12. A light object is not a parametric object, thus any data is not saved into a record. Instead, everything is saved as object properties. You can find the appropriate constants in the SDK definitions. Search for ovLight. It could be that just like in the SDK, VS also has wrapper functions available.
  13. Hippocode

    Changing font sends multiple events for selected plugin objects

    Typically they should follow a logically order of events. kObjectExternalReset is called when an object reset is caused by another object. I assume the first reset is yours. For some reason, an additional reset by something else in the background is causing the other events. Some actions can cause multiple events because sometimes we want to do something on a specific moment when an object is changing. It could be that modifying text does that. I wouldn't worry to much about it unless you end up with unwanted behaviour.
  14. Hippocode

    Dynamic Record Values

    Is this a custom object, or are you referring to symbols ? Default symbols have no way of autolinking fields. You can do this with a custom object using GetRField, SetRField.
  15. You can change your view to 2D and reset it after you run that function.