Jump to content

Samuel Derenboim

  • Posts

  • Joined

  • Last visited

Posts posted by Samuel Derenboim

  1. I'm Having a bit of an issue with importing dwg files as symbols as it does not do a few things i prefer like :


    1. import folder structure the dwg subfolder directory

    2. import / convert to group any elements that have record information (normally does not import record information as nested symbol)

    3. name all symbols by record name (inside of symbol) rather than file name of dwg file.


    I thought about going about it a little differently -


    batch convert to vwx in place, and then reimport every vwx file as a symbol.


    Another workaround can be convert bulk dwg files in place - but with every action save extents of imported layer as symbol


    I feel like this can be done with the marionette tool - however i do not see any nodes for :

    1. creating symbols

    2. opening vwx files

    3. converting design layer to symbol


    Is this possible?

  2. Will we ever be able to pull material data information into a data tag?

    I noticed in order to pull it in a worksheet - command is something like :


    =MATPROPERTYBYNAME(B3, 'MaterialDescription')

    =MATPROPERTYBYNAME(B3, 'MaterialReferenceID')

    =MATPROPERTYBYNAME(B3, 'MaterialManufacturer')




    Will we be ever able to do the same thing with data tags?

  3. 4 hours ago, Pat Stanford said:

    I agree with Christiaan.  The people at VW are trying to do the best job they can with the resources they have. I am certain that the sales/marketing/management at VW are aware of all the options and impacts that this change will have. They have watched the industry move in the subscription direction for years. They are not suddenly going to a new model that no-one has ever tried before. And based on their research and experience they are doing what they think will best benefit VW.


    If it benefits VW then it must also benefit (or at least not harm) the majority of users. Will it be the right thing for all existing users. Absolutely not. Will it be the right fit for many on this thread? Based not he responses, probably not. But the users of this forum are a tiny fraction of the total number of users.


    And please give the VW people some credit. I am sure this was worked on for a very long time. None of us like it when someone with no understanding of the requirements or site conditions criticizes our designs that were done to the best of our ability. VW personnel feel the same about this.


    My $0.02. Written for my personally, not in my role as a moderator or in any way representing VW.


    I agree, the people that develop the software I am sure that they are in 100%.


    Your help alone in these forums helps a tremendous amount. The fact that the programers/developers in VW also participate in the conversation is a huge deal.


    Having said that, how will the subscription system help ?

    Is it intended to increase the development team? or provide better updates? Will your salaries increase due to this condition?


    If so, couldn't that simply be solved by increasing the price for entry for permanent licenses - and why will that option no longer work?


    At the end of the day, is it the development team that determines whether or not features get released? or whether it is the appropriate time to release them? or is it management? I just am under the guise that management is divorced from development despite how well intentioned and passionate the team is...unless I am mistaken, then Ill certainly eat my words.

    • Like 1
  4. 9 hours ago, shorter said:

    there was another that reversed that result…

    Can you share a source?


    Also regarding my assessment wasn't regarding a hunch, but rather demand. Go to Archinect or any other website that provides job listings.


    On Archinect, search for vectorworks as a keyword. Only 26 jobs available throughout all of United states ( not sure if it covers UK).

    Do they same for Autocad.  673 results. Revit renders 764 results. Archicad renders 45.


    Total search results: 1508

    Autocad - 44.4 %

    Revit - 50.6%

    Archicad - 3 %

    Vectorworks - 1.7 %


    These are real-time numbers that currently list jobs available today.


    As a reseller of VW, I understand your position, but at least be fair.

    • Like 3
  5. Hi everyone, I don't seem to be able to find a node that can create symbols. I did manage to find one that was written by domc, but it only creates a symbol in 3d space. Code is below.


    Is there any way i can modify the configuration so that the objects being inserted go to 2d space, not 3d? I am trying to create a marionette program that creates symbols from groups - that have certain records. There has been other ones that have been done with creating symbol by object name (including groups) but it only works on single objects, groups do not show up in the 2d annotation space, thus disappearing


    #DomC v001

    class Params(metaclass = Marionette.OrderedClass):
        By = 'DomC';import datetime; now = datetime.datetime.now(); y80f5 = now.year;m80f5 = now.month; d80f5 = now.day; h180f5 = now.hour; mi180f5 = now.minute; s180f5 = now.second; ms180f5 = now.microsecond; h280f5 = h180f5-12 if h180f5 >=13 else h180f5; VersionChange1 = str(y80f5)+' '+str(m80f5)+' '+str(d80f5); VersionChange2 = str(y80f5)+'-'+str(m80f5)+'-'+str(d80f5)+'-'+str(h280f5)+'-'+str(mi180f5);
        TextStatic = Marionette.OIPControl( By +' v'+VersionChange2, Marionette.WidgetType.TextStatic, "")
        this = Marionette.Node( "Create Symbol" )
        this.SetDescription( 'Creates a new Symbol' )
        h_obj =  Marionette.PortIn(vs.Handle(0))
        h_obj.SetDescription( "symbol content (one object) if empty, an empty 3D (3D Locus) symbol will be created" )
        s_name = Marionette.PortIn('Symbol-1')
        s_name.SetDescription( "the symbol name" )
        s_sym = Marionette.PortOut()
        s_sym.SetDescription( "the result symbol name" )
        h_sym = Marionette.PortOut()
        h_sym.SetDescription( "handle to the newly created symbol" )

    def RunNode(self):
        obj = self.Params.h_obj.value
        name = self.Params.s_name.value
        h = vs.LNewObj()
        h_sym = vs.GetObject(name)
        vs.SetParent(obj, h_sym)
        self.Params.s_sym.value = name
        self.Params.h_sym.value = h_sym



    I think the problem lies with the create symbol node. See screenshots below. Seem like i just need a create symbol node with more properties, or just a 2d symbol node.


    1. Design layer space




    3d view space



  6. arquitextonica,


    there unfortunately (at least to my knowledge) isn't any whitepaper that would probably help you. Having said that, I've dealt with several very large buildings and was able to make it work. Here are a few recommendations i have done. I can also tell you what i plan to do better in the future


    1. Referencing files into one master file is very important. One problem you will come across are stories - and your workflow needs to be be similar in every file.

    2. Tagging wall objects/ floor objects/  window objects need to be done in the original reference file - not the master file. This is very important.

    3. When working with worksheets, notes, etc... consider each portion of the set of buildings - as a separate building. Worksheets will not be able to be combined, nor will takeoffs. I still need to verify for myself whether or not worksheets can make take-offs for multiple reference files - not just the file it is in. Try this for yourself

    4. Experimentation is key. If you have an idea, test it out on a test file to see if it works. You can start with the idea above. Create two different files with two different wall types, roof types etc... Then reference the two in a third "master" file and create a worksheet. Do both wall types show up in the schedule?

    5. The master file should be able to have sheet layers. Be careful not to overdo it with the amount of sheet layers in the master file. If you can, split it into various sections. I for one split it into a. plans / rcps (000, 100 series), sections / elevations (200, 300 series), detail sections (400 series) and details overall (500 series) --- each with their own set of worksheets. Think about how you will create the set for each building on the block before you integrate it. This is very important if multiple people will work on the project as a whole.

    6. Try to have a file that has all the wall types to be used between all the files separately - that way multiple users can access it. This will be useful when making takeoffs, needing to change wall types, floor types in different files with appropriate descriptions, UL #'s, R / U values, etc...

    7. Create a master pdf set of documents in a separate directory for each sheet separately. This is important because rendering elevations and sections take a while. Doing each separately and combining them all (already pdf's) when needed will create a much quicker workflow.

    8. If you have additional filing's to do like builder's pavement plans, site plans, do those in separate files as well - as a whole. They are much simpler, but with more complex mechanics when figuring out cut / fill, sidewalk elevations and slope percentages, curb cut depths, and grade / flood plane elevations.


    there some features that might not work in referenced files like :

    1. if a file is reference with a column grid - I do not know if the column grid will show up in the section if the master file is referenced.

    2. schedules / takeoffs in referenced files - still unknown.

    3. do not tag wall types in reference files. It doesn't work. Its a major flaw in VW


    I'll add some more if i remember anything else. Hope this helps.


    As for your question above, classes and design layers are easily manageable in reference files. Just be consistent in the way you assign classes to wall styles, floor styles, window styles etc...If it is consistent, using the eye tool, you can eliminate or turn on elements in a drawing if you have to.


    • Like 1
  7. That was why i used the analogy of the material type. Since it is already a "plugin" object - it should remember the custom class configurations as you saved it without having to add an additional record to the window or door. COBie is just one additional custom element. There are quite a few more - include UL designs, noise isolation class, impact rating,  and / or other ANSI design categories fenestration need to comply with. Masterspec can be another for classification, perhaps closers or custom hardware for doors / windows. The list keeps going 🙂

  8. What would I think could be even more beneficial is if we can assign custom field information similar to the way material information can be called out. Those fields can be used a multitude number of ways not just limiting to cost code index. Below is an example screenshot for custom fields in a material. Would be great to have similar conditions for walls, windows, doors and floors. What do you think?



  9. Tags in vectorworks are a wonder. In 2021 release (i think ) VW gave us the ability to scale text in a tag - which is wonderful. Another feature that would be great to have is to add constraints to text if the text callout is word wrapped. This is needed because of the way tags are scaled. If the tag is scaled 2x or 3x, the constraints for wordwrap are also limited to the scale. Wordwrap would preferable by unconstrained , or at least an option inside of the tag text options (i.e. constrain some text, others unconstrained...similar to the location contraints in the tag edit configuration)






    • Like 1
  10. I understand what you mean now. I've tried using the beam tool, but that's not easily modifiable in terms of depth. The slab tool has to be modified independently from levels in order to adjust its thickness as well. The only other thing i haven't tried would be to use geometry and tie its thickness / width / height to a tag. Not exactly the same thing, but maybe a close second? 🙂


    Also, its important to note - the would only be one component in a slab tool that would be able to change in thickness, otherwise the tool would break...It wouldn't know how to distribute the thicknesses for multiple components.

  11. My understanding is that there are some components in a slab that would be relative to levels, others to be proprietary like the wall type below. Some are relative to levels, others to the slab. With a wall however, the thicknesses of components never change. Only their depth does - which isn't really called out on schedules.


    But what about slabs? When called out on a schedule and a component has different thicknesses, you would have the same slab type appear multiple times on a worksheet if it is to be summarized - however you cannot change any other parametric information like description, additives, etc... to it. This feature would mostly be limited to footings and step foundations, which would definitely be a time saver for sure - but there are are other tools that can do just the same without having to use the slab tool for structural elements.


    (of course this is an assumption on my part, is this what you would use it for?)





    • Like 1
  12. Currently, when doing wall details for wall type components there are portions of a wall that need some extra graphic representation in order to differentiate all other wood stud wall types (i.e. ones with batt insulation, continuous insulation, etc..) or even a sound attenuation blanket. Sometimes the user needs to add extra information to the 'centerline' of a component. Currently, only each edge of a component can have a line type - right pen and left pen. This post is asking for a 'centerline' pen. The reason therebeing is because all other methods have severe limitations to workflow. Let me explain.


    Other options that are available are - Use specific hatches and / or use a tile. Granted, Tiling is a very useful function when working only with vectorworks. however, when sharing sections plans or elevations with consultants - tiles are converted to bitmaps which makes them useless in other programs. Therefore its use is unfortunately ruled out if working with consultants.


    There is also the use of different hatches representing different components. However, hatches are very difficult to create from scratch, and sometimes even imported hatch tiles that are complex (like batt insulation) or cumbersome. That is why the solution above comes to mind.


    Using a linetype is exportable, stable, and very easy to create with using a single backdrop for a core component material. Therefore, I thought of using a linetype as shown below:




    This however caused a problem when doing sections. If the component is 'flipped' - the right side can appear to be on the left side, and therefore it flips the linetype as shown below.




    The same thing can be done for slab components and roof components because the problem essentially is the same. Using linetypes in the centerline of a 'slab' component would be that much easier to represent. centerline of components even when flipped would generate a seamless linetype regardless of the side it is cut. Hence the request.


    Let me know what you think !

  13. Currently the select connected command can select connected objects that are not closed. What about specific 3d geometry that cannot be custom selected by texture or by hand. Can adjacent connecting objects be selected ? Here is an example image. Let's say I just wanted to select the connected geometry of the object circled in yellow. Is this possible? All geometric objects are not grouped.




    • Like 1
  14. I am trying to summarize in a compact wall schedule the components of a wall and its respective components by the sum method. However, regardless of what I do, I cannot summarize the information. If i have close to 1000 walls of a limited number of styles, why can't the worksheet summarize the areas for those components by wall type rather than list every single component? Or Is there a way to summarize component information?

     Thanks in advance!




  15. Update 4

    All parameters functioning properly except 1 element -


    How does one reset count when a condition ends?


    I.E. If S3 changes then N1 = 1


    Procedure NumberThem;

    CONST    Rec='!CDA-EnergyTabular';
    VAR        H1, layhand: Handle;
            N1,N2:    Integer;
            S1,S2,S3,S4,layName: String;

    Procedure Execute(Hd1:Handle);

            layhand:= GetLayer(hd1);
            layName := GetLName(layHand);
            S2:= GetRField(Hd1,Rec,typ);
            S4:= GetRField(Hd1,Rec,dir);

            If layName='Cellar Areas' then S3:='0';
            If layName='1st Fl. Areas' then S3:='1';
            If layName='2nd Fl. Areas' then S3:='2';
            If layName='3rd Fl. Areas' then S3:='3';
            If layName='4th Fl. Areas' then S3:='4';
            If layName='5th Fl. Areas' then S3:='5';
            If layName='Roof Areas' then S3:='+';
            If S2='Door' then S2:='D';
            If S2='Window' then S2:='W';
            If S2=' Wall' then S2:='P';
            If S2='Cwall' then S2:='CW';
            If S2='Slab' then S2:='SL';
            If S2='Roof' then S2:='RF';
            If S4= 'East' then S4:='E';
            If S4= 'West' then S4:='W';
            If S4= 'North' then S4:='N';
            If S4= 'South' then S4:='S';
            If S4= 'Horizontal' then S4:='H';
            SetRField(Hd1, Rec, Fld, S1);

        ForEachObject(Execute, ((R IN [Rec])));


  16. Update 3 :


    Got Layers working. How do I add leading zeros?


    Procedure NumberThem;

    CONST    Rec='Test';
    VAR        H1, layhand: Handle;
            N1:    Integer;
            S1,S2,S3,layName: String;

    Procedure Execute(Hd1:Handle);

            layhand:= GetLayer(hd1);
            layName := GetLName(layHand);
            S2:= GetRField(Hd1,Rec,typ);

            If layName='cellar' then S3:='0';
            If layName='1st floor' then S3:='1';
            If S2='Door' then S2:='D';
            If S2='Window' then S2:='W';
            If S2='Wall' then S2:='P';
            If S2='Curtainwall' then S2:='CW';
            SetRField(Hd1, Rec, Fld, S1);

        ForEachObject(Execute, ((R IN [Rec])));


  • Create New...