Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Hippocode

  1. I'm working on the ability of drag and drop accessories on MEP networks. Accessories will be a combination of a symbol and the required connectors for it to connect to the MEP network. There is already a basic dragging implementation where you can stretch parts of a network, but not in all situations. It will be improved though. When right clicking a segment you can set it's slope, also when drawing new segments. It could be it's not the complete solution you are after. You can also draw from invert, bottom or top as centerline.
  2. I find that the best method. This is also the way we create our pipes/ducts. (https://www.youtube.com/watch?v=zHELdSR75tA) On the OIP you can select a material, sizes and a shape to create any circle, rectangle or oval profile including thickness based on the material sizes (hollow).
  3. It depends if your symbol is supposed to by hybrid, 2D or 3D. If you only have 3D content you should place the text in the 3D container as well, otherwise the symbol becomes hybrid and your text is the 2D part. You can play around with it a bit. You do not need to copy the text from one container to another if you placed it wrong, if you just modify the layer plane or whatever it's called it's moved automatically.
  4. Edit the symbol definition. When you are in the 2D container of it, just attach any record and set the appropriate data.
  5. I could be wrong, but did you attach those record to the symbol definition or a symbol instance ? I believe the instance is exported, thus any record attached to an instance is ignored.
  6. Ok you've made clear you need this feature. Since for you this is a regression, and it usually takes some time for this to be fixed (IF), I suggest you set up some custom selection scripts. You will have some variations but these can replace your old way of selecting the object records you need to edit.
  7. I could give some examples, but I'm not here to advertise other software nor should we start such a discussion While it is possible with Vectorworks, it's not easy to say the least. I don't think the instructions are hard, but the method is, certainly for people with less computer skills. I spend a lot of time in getting an ODBC connection work once and have not touched it since. It could be easier now, I can't tell. That being said, Don. Give it a go, you will find several resources on the web or on this forum to get you started. People will help you if you end up stuck. It will cost you some time, but will save you much more in the end. Vectorscript or Python might be scary at first, but your investment of time will be earned back big time. If that is not your thing, let someone else code it for you. That is what I like about this software, you can make it your own.
  8. I have added such functionality to our next release. It comes as a custom Vectorscript function to move the active selection to another layer. You can pass a layerhandle into the function or NIL in which case it launches a select dialog. You can also turn this into a menu command and bind it to a key.
  9. Yes this is very annoying. Reminder to self to create a script for it.
  10. You should create selection sets. Remember that with the custom selection tool, you can save your custom selection as a script. From then on, you can just doubleclick it and it will select all objects with that specific criteria. I would also suggest one record for the same object type, this will make it much easier for you. You could just add one additional parameter that sets the "choice" instead of using different records for each "choice". Last but not least, automating the attachment of that record would also be a huge improvement. You wouldn't need to worry about objects not having it. It can be done with one of my custom tools available from 2018:
  11. Well this is how it is supposed to work and allows you to have symbols with different information based on a common type. Like Pat suggested, it's fairly easy to write a script to handle this. If you make it generic, it can handle any record / field type instantly and overwrite the changes to all symbols already placed in the drawing, regardless of the size of the record(s).
  12. Hi Samuel A symbol definition is a unique object which defines the default settings when you insert a symbol. If you modify the geometry of the definition, all placed symbols will update. If you modify records of the definition, existing symbols will not be updated. If you modify a symbol record field in the drawing by any way, only that instance is modified, not the definition.
  13. Well I don't think you can use VS to connect to an external SQL server. You probably can with python or c++. Besides that, from what you describe getting the information you need should be fairly simple for both options, without the need of worksheets. If automating the SQL injection would be too much, you could at least streamline your export to match the structure you require, even with plain vectorscript.
  14. I'm not sure if a Label legend is an existing object you are referring to. You could create symbol definitions of all your unique objects, list them into a worksheet databaserow and show them with a visual and any parametric data attached.
  15. There are several new available for specific purpose. I suggest you download the SDK and look it up in the MiniCadHookIntf.h file. I can't tell if they are exposed to VS, but I assume so.
  16. I'm not home right now but I assume you set it op on init of your plug-in, where you can set up object properties like acceptings state events and such.
  17. I believe it's saved into the unique "name" field which is visible close to the IFC button on the OIP. There are Get/Set functions available for that parameter. If not you could use VectorMEP's "Organisation - Objects" dialog to find out all available fields attached to an object, including hidden fields which could contain your ID.
  18. There is one tiny drawback, these settings are global (beyond the scope of a document) and you need to restart Vectorworks each time you modify the mapping settings. The settings are kept in a XML file that can be shared. As a precaution you can not attach hidden or parametric records for obvious reasons.
  19. The plug-in will be available in both bundles. Currently I verify if the record is attached, it will only be added if not yet present. Thus you should never get any collisions. Also these will be attached on object generation (before you will be able to do anything with the object). I have no knowledge about that GIS object. Why can you only add one record ? Seems strange
  20. I managed to get a simple example working, being able to map a specific record to any object type. These records would be attached on object generation so you would never need to worry about the correct additional records being attached as all is handled in the background. In theory is any object valid, including custom objects for those of you that script a bit. You could even take it a step further and allow to use different records on the same object type, based on parameter values. Lets say you have some sort of "type" value associated to the parametric record, we could set it up that you could define different secondary records to become attached on those occasions for your specific needs. To handle at least a basic mapping, this needs some additional time spent on, as we need a decent dialog to manage and store all of this in the drawing. I'm convinced this can be very beneficial to any workflow and have decided to add it to our 2018 release of VectorMEP. I don't think your drawing would become heavy if you would add larger records to multiple object types, but then again such above interface would allow you to organize it a bit better and make specific records for each situation anyway.
  21. I think this is a great idea. I'll see if I can come up with something using the SDK.
  22. I'll join the club as well. I was a great experience.
  23. Just keep in mind that kObjectCreated is called several times for one object, also when the tool creates a dummy object visible on the screen!
  24. Controlpoints should not be affected at all by the origin, as the coordinate values are stored relative to the inner origin of the object, which is always 0.0
  25. I manage duplication using the kObjectCreated (13) event. In there I force it to -1. Next my object reset codes loads the ID and replaces it whenever it's -1. On default, your object should reset after the above event is called. Disabling the unique name field can be done by setting an object property (35) in the object init event. Example from the SDK extProps->SetObjectProperty(objectID, kObjXPropDataNameDisabled, false);
  • Create New...