Jump to content

Hippocode

Member
  • Posts

    796
  • Joined

  • Last visited

Posts posted by Hippocode

  1. When you create a menu item from scratch, it can be standalone or exist out of an amount of submenu's (chunked).

    The great thing about the latter one is that, similar menu commands (e.g.: add X, edit X, remove X) can be grouped into one menu instance in the workspace manager, but appear as 3 menu items to the user when added to the workspace, as mentioned the DoMenuByname should default to chunk 0 for standalone menu items, and to the chunk identifier in case of a chunked menu group.

  2. It can be, but it's a bit harder to work out.
    Each IFC data field is split into 3 record fields, for which two describe the name and type, the third one the value. This makes it harder to find the field you want to display, as the field name might be something like "Field 1" etc..

  3. 3 minutes ago, rDesign said:

    I agree completely. Here's a post from 2009 which pretty much sums up its current 2017 "functionality":

     

    The 3rd-party VectorMEP package does look pretty good, but the built-in plumbing tools in Vw2017 are pretty embarrassing when you compare them to what is offered in ArchiCAD and Revit. 

     

    I agree, but I also understand developers have to make choices on what they focus, and in this case MEP was not on the drawingboard.

     

    Oh well, I'm working on some awesome updates for VectorMEP, keep an eye on it ;)

    • Like 2
  4. There is no global way of doing this, certainly with third party plug-ins. The functions mentioned by Josh are the best option for default units.

     

    VS based plug-ins will have limited implementations for anything not being a default unit. With the SDK there are more options, including translating units while being shown in worksheets but not everything will be exposed, certainly not from third party developers. There are interfaces available for energy and irrigation units.

     

    • Like 1
  5. Scripting wise it's easy, but a math challenge is always fun.

     

    Start with listing all walls and their absolute start/mid/end coordinates in a struct array.

    Find the wall that is closest to this point by comparing coordinates. Also make sure you also check the midpoints when comparing as you could otherwise start with the wrong T junction wall segment, if that T junction is the closest point, owned by multiple walls.

     

    Next compare the wall with other walls to find adjacent walls and recursively keep doing this until you find the first wall piece again. Check handles to verify.

    - If you are at a junction, you need the choose the closest wall from the available options, again compare by midpoint.

    - If you don't find the original object again, you are trying to create a point in a none closed shape.

    - If you do find a closed wall shape, verify the point lies within the polygon formed by these walls, otherwise the point lies outside the building contours and the shape should be invalid.

     

  6. when you want to show any kind of record field in a database row, this is the structure you should use:

    =RECORDNAME.FIELDNAME

     

    In case the record or field name contains spaces, you need to add ".

    ="RECORDNAME"."FIELDNAME"

     

    In case of a parametric object, the default record has the same name has the object. In your case you need to use the name of your custom record.

  7. If that is the case, splitting up these 3 strings over 3 records could be an easy solution?

    Since it's such a large string, I assume it contains a sort of delimiter key which is using a lot of space? Consider storing each substring in a separate field of each record?

     

    http://developer.vectorworks.net/index.php/SDK:User_Data Is also a good option, I'm starting to use it a lot lately.

    You can always create your custom VS implementation to keep working with Vectorscript.

  8. This is how symbols are designed to work. Only the definition is unique, all placed symbols are exact copies.

    The only way around, is to make your wrapper an object, or maybe your current object the parent of whatever you want to create. Then each object instance can be unique.

     

    Also, you can still save that object as a red symbol if you want it to appear in the resource browser as well.

  9. Well a step of 9 years is huge. It could be that some of the functionality changed. Such a big step will require you to retest all your plug-ins as some functions might have changed or deprecated. For what's worth, the developer wiki keeps track of changes between versions.

     

    Maybe the length used to be center to right and has changed into left to right effectively doubling the length. In that case just use aa/2.

     

×
×
  • Create New...