Jump to content

Samuel Derenboim

Member
  • Posts

    475
  • Joined

  • Last visited

Posts posted by Samuel Derenboim

  1. Hi all and vectorworks team,

    @Nikolay Zhelyazkov 

     

    Firstly, latest update to tags was great! the bug that existing in graphic legends and tags where text was greater than 4.5 inches in width no longer disrupts spacing conditions between multiple dynamic text fields!!! Either way, thank you for that !!!!!!!!!!!! I will follow up with some discoveries regarding this a little later on...however I did want to ask :

     

    As requested in this resource, was the ability to reference custom records in materials by any chance added? (see forum discussion at the bottom)

     

    The reason I ask is because i can modify the custom record in a worksheet just fine using the record.field option when listing materials in the document - and it is freely modifiable!!!

    Since the ability to create WS function in tags, how would I now add custom record for component 1, or component 2 that has a record 'custom record','custom field' attached to it?

     

    What I've tried so far :

     

    #WS_MatpropertybyName(ComponentMaterial(1),'Custom record.custom field')#

    #WS_ObjectData(ComponentMaterial(1),'Custom Record','Custom Field')#

    #WS_MaterialProperty(ComponentMaterial(1),'Customrecord','CustomField)#

     


     

     

  2. @Tom W.

    Not under the values used for WS_IF.

    In other words if your tag callout structure is #objectdata(reference)#@WS_IF or WS_IFS:ELSE --- > document dimensions, or custom dimensions (like inches, or decimal feet) are inherited from the component or whatever the dimensional reference is.

     

    However

     

    If your tag structure is something like you mentioned : #WS_IF((COMPONENTTHICKNESS(1)=0), ' ', CONCAT(COMPONENTNAME(1), ' ', COMPONENTTHICKNESS(1), 'mm'))#

    The value that would be generated from that statement would be a numeric value (not a dimensional one) - which is why you add 'mm' to it. It would fine in the metric system.

    In imperial, when you have fractions of an inch - they're not divisible by 10, and converting them back to fractional inches would be a nightmare. The best thing that can be done is to generate the value into inches by dividing the value by 12 (since the default document units are feet - not inches). Just FYI

     

    and its relevance is that when you provide documentation in America, fractional inches are much easier to understand than decimal feet. I have found a work around to this situation already using the 1st condition above when  you have multiple variables in a conditional statement and need to preserve dimensions.

  3. @fuberatorTags have taken over this function, and i must say in a brilliant way as well.

    If there needs to be a calculation that is 'recorded' onto another record, do the math inside of a tag and use link data to source. Pick the record you want the number to be recorded to and vwala - you can have an auto updating function. I came across this when i needed to dynamically change the occupancy, fixture requirements or other code related formulas to show both on plan and on a referenced worksheet dynamically. if you don't need it shown on a worksheet - easiest way is still to multiply one record with another like Pat mentioned.

     

    image.png.5932e070368bb4c26133f2017b83f913.png

    • Like 4
  4. Hi again. 

    I've been curious as to how the Mtextur plugin works (in the import menu). Currently it is not working for VW2024, however, im sure it will be fixed. 

    In the meantime, While the Mtextur plugin only works with textures, is it possible to do the same with any other VW objects from a remote website? namely materials, symbols, and other objects?

    I've recently discovered the ShowwebDLg script command....and am very interested in taking advantage of it. However, whenever I access a website, I cannot download any files into VW (naturally).

     

    What would need to be done in order to do so?

     

    Note: i've noticed mtextur uses zipped files with text files for potential database fields. Can this be implimented so that a texture can be imported as a material with fields extracted from the text file? that would certainly be awesome

  5. Hi VW Team and Community, 

    Thought I'd share an idea (or wish i've had for quite some time) 

    Below are a few screenshots of what that dream might be. Simple, but probably complicated too.

     

    The idea is to integrate plugin object properties into the resource manager. Editing properties for all Plugin objects would be so much easier and faster!!!

    Anyways, just a thought. Upvote if you agree i'm not the only one who thinks this way ;)

     

     

    image.thumb.png.e0a07797c613593ec292f4f13bb0e313.png

     

    image.thumb.png.78b53ebf534e8e9fe88d81fe99e414c1.png

     

    image.thumb.png.f33fb9826e3f828199b711f3f928ef28.png

    • Like 2
  6. I know its a bit of an odd request, but I was curious, is it possible to count the same number of materials in a wall type using a tag?

    Lets say I have a wall type - 2 layers of gyp bd, framing and 2 layers of sheathing

    So far I have used the conditional statement : #MATPROPERTYBYNAME(COMPONENTMATERIAL(1), 'Materialkeynote')# line by line to describe each material. 

    Is there a way to count the material in order to use 1 line to say 2 layers of gypsum board or etc...? 

     

  7. You need to create a custom record. This isnt a wall or plugin object, its simply geometry. Once you make the custom record and fields, use the record format element in that drop down to call out the fields you need. It will be empty at first, so in the data info box you can enter it, or via the tag

    • Like 2
  8. On 9/12/2023 at 7:11 PM, E|FA said:

    I just did this for the exact same purpose a few weeks ago.  I found the quickest - though probably not best - way for me to get it done was to use the Extract Tool's extract surface mode on each of my exterior walls, which generates a closed polyline of the exterior surface area.  Once I had all the exterior wall surface poly lines, I selected all and got the total area from the OIP.

     

    I'm sure there's a much better way to do this, but if you're on a permit intake deadline and need to get it done, it will work.

    I did the same exact thing 2 years ago on a very complex project to calculate UA values for energy code requirements. Seems its the easiest method, and you can disconnect it from the master Bim file as well to create a separate set dedicated to a particular subfield

    • Like 1
  9. 1 hour ago, Ramon PG said:

     

    Not sure I get it. Would it show in plan view?

    The paint finish wouldn't have a thickness, it would be for elevation purposes, however, it could be tagged, so in plan view you can tag the geometry that has the appropriate paint color. In elevation, you can tag it as well, and depending on your viewport layers, it would render the paint with shaded options, or you can set a specific hatch if need be for the different types of paint. You would have to experiment with that. However, the tag information would be the most imporant as it would extract all the information necessary for your schedules, elevations and FF&E plans

    • Like 1
  10. In worksheets you can use =getspacenameforobj

     

    This will return all room names in the worksheets that your light fixture is located in.

     

    I used to do the same thing before i discovered these functions. Note - it will use your databade query to populate the space names.

     

    There are alot of functions in vw. If you want to learn more about more functions - go to the insert menu in the worksheet and click insert function...there will be a useful (looong) list of functions on how to use them

  11. So i have been browsing the VW function reference and noticed some interesting things

    https://developer.vectorworks.net/index.php/VS:AddSubMtrlToMtrl

    https://developer.vectorworks.net/index.php/VS:UpdateSubMtrlInMtrl

     

    there is a function to add, update and remove submaterials in a material. No functions (at least that i see) have the ability to get the name or the properties of the submaterials. What is, however, interesting is that these vectorscript functions have a handle called subMtrlName. I've used it as a function of objectdata, and have some interesting results.

    For reference I used this material in the library CMU 8x16 w/Mortar MT

    =OBJECTDATA(B3, subMtrlName, 1) - returns N/A for a compound object (based on material data sheet worksheet)

    =COMPONENTMATERIAL(B3, 1) = does not return anything - is blank

    =MATERIALPERCENT(T=MAT, 'Mortar MT') - returns 0 (Type=material i figured could have extracted something, but unfortuantely did not)

    =MATPROPERTYBYNAME(B3, submtrlName) - returned #PARMS? - which is interesting because submtrlName would become a handle that can actually be processed in the worksheets.

     

    @TomW Thought Id share in case you're experimenting

     

     

  12. 4 minutes ago, Tom W. said:

     

    I think we need @Nikolay Zhelyazkov's help on this...! There is a MaterialPercent() function but I have never used it before + testing it now can't get it to work on a Slab for example, only an Extrude... I think this is because it's not a component-specific function like all the ComponentMaterial ones.

     

    What I do is report on the quantities of the Simple Materials inside a component's Compound Material using MaterialSurfaceArea() MaterialVolume(). But this is the total quantity in the model (less anything in particular I need/want to exclude). I am less interested in the percentage because a reinforced concrete slab for example will be set up to return 100% of the surface area (for the mesh) + 100% of the volume (for the concrete) but I don't need to report these percentages, they perform an under the hood function.

     

    As regards returning this data from a component:

    I basically include this info in the Description field for a Compound Material: not the specific data you list because I don't want the Material name to appear or the percentage, but info about what the compound material is e.g. 'RC28/35 concrete with A393 steel reinforcement mesh in bottom (75mm cover)'. I know this isn't what you want though! You want to pull out data that is already there, not reenter it in a different field...

     

    @Tom W. You're right on the money. Essentially I am using the properties to create a parametric 'description' of materials, walls, slabs, etc... as well as volumetric, area and weight properties. For example - would it be possible to calculate the weight of a compound object? Theoretically you have the density of the compound objects and their respective thicknesses. When multiplied by the percentage of material the part makes up - i believe you can calculate the weight that way.

    Weight would be super terrific for load calculations for engineers. This in turn would help them design better and more effective structural systems that are more precise rather than the conservative values they may place per object. This can in turn save on steel.

     

    I know the differences would be negligible, but still, would be an effective decision making tool. (this is just one use case of extracting sub component materials)

     

    @Nikolay Zhelyazkov help please ! 😂

  13. @Tom W. & @Nikolay Zhelyazkov

     

    Here is a bit of a tougher question -- is it possible to call out the sub materials of a composite material in a tag - and / or their respective properties?

    i.e. If you have 2 materials in a composite material - Metal studs and Batt insulation - and you want them to be call out like :

     

    Composite material name

    Sub material 1 - Submaterial Tag / Description / percentage of composite material

    Sub material 2 - Submaterial Tag / Description / percentage of composite material

    etc...

     

    Again, thank you in advance!!

  14. @Nikolay Zhelyazkov Pardon the delay, Wanted to ask how to get the name of the material via #WS_MATPROPERTYBYNAME(COMPONENTMATERIAL(2), 'materialmark')#

     

    I've tried #WS_MATPROPERTYBYNAME(COMPONENTMATERIAL(2), 'material')#

    #WS_MATPROPERTYBYNAME(COMPONENTMATERIAL(2), 'materialname')#

    #WS_MATPROPERTYBYNAME(COMPONENTMATERIAL(2), 'name')#

    etc... cant seem to get it. 

    Could you please assist?

×
×
  • Create New...