Bruce Walker

Forum Replies Created

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • in reply to: Profile name in Master Script #18867
    Bruce Walker
    Participant

    That’s why, I think. The underlying Surface could be changed, and without running each parameter script again, the values in the objects would no longer be correct.

    I have two notes: 1. It would be good for this to be up to the individual / BIM manager to manage – not to have this functionality shut out unilaterally. 2. Does the parameter script run when producing schedules? I don’t know.

    in reply to: Profile name in Master Script #18865
    Bruce Walker
    Participant

    Let’s take the specific example of the door schedule:
    – we schedule the leaf finish, and frame finish in the schedule
    – this finish needs to be a code, e.g. TM-104
    – this needs to be read directly from the relevant parameters in the doors to ensure integrity of information: in this case “gs_leaf_mat”, and “gs_frame_mat”
    – the Surface name in the project attributes is actually “TM-104: Timber oak dark stained”, therefore I need to SPLIT the Surface name so only “TM-104” will show in the schedule
    – I cannot use a Property, as Properties cannot read object parameters
    – I cannot use a SPLIT command, as I cannot REQUEST the Surface command in the Parameter script
    – I cannot cheat by narrowing the column, as different codes have different widths
    – I cannot change the Surface names to just be the codes, as there are exceptions to this that require the description
    – I may be able to set up an IFC field that will SPLIT the Surface name, but so far I haven’t been able to get this to work – and there could be performance issues associated with this.

    I understand the reason GS gives for not being able to REQUEST the Surface name in the parameter script, but surely there’s a better way?

    in reply to: Profile name in Master Script #18856
    Bruce Walker
    Participant

    So I’ve experimented with the Master_GDL, and I don’t think it will do what I need.

    On a project, the material codes are selected by the designer. There can be >100 selections, each with their own code (see example in my second to last post). The materials are NOT object specific: the same material can be used on doors (leaf, frame, glass), walls, objects etc. Therefore, we need to list the code when we schedule out our elements. I cannot figure out a way to do this in schedules inside Archicad. I suppose I could export the schedule to Excel, and run a formula in there – but it would be very handy to be able to extract this somehow inside Archicad.

    Maybe the addition of an ID and Description field within the surface itself – similar to building materials?

    I’m kind of stuck.

    in reply to: Profile name in Master Script #18794
    Bruce Walker
    Participant

    I don’t think I quite follow.

    The same door library part may have different surfaces for separately placed instances. Our surfaces are named such (code + description) so they are a little more informative to the user; and there may be multiple entries of the same code, but with a different vectorial fill (e.g. timber grain direction), which requires a different descriptor. However, in the schedule, just the code is required.

    I don’t think I can hard code the surface into the part.

    I’m not familiar with master_gdl, as every practice I’ve worked for has prohibited their use. However, I might dig into it further.

    in reply to: Profile name in Master Script #18783
    Bruce Walker
    Participant

    I’m now running into the same problem with trying to intelligently produce door schedules with leaf & frame finish fields. I want the schedule to read the finish surface of the leaf or frame, and run a SPLIT or STRSTR command to extract the finish code from the description.

    The problems I’m encountering:
    1. I can’t run a REQUEST (“Name_of_material”,…) command from the parameter script – for the above mentioned reasons I’m presuming.
    2. I can’t run a SPLIT command in the properties, as I can’t reach object parameters from properties
    3. I can’t shorten the schedule column to obscure the description of the surface, as it adds a ‘…’ to indicate there is more information.

    This is resulting in three separate entries for the same data – not a good practice: 1. User selects the right surface inside the object. 2. User selects the finish code from a properties-specific options list for the leaf. 3. User selects the finish code from a different (but containing multiple duplicate values) properties-specific options list for the frame.

    This is bad!

    An example of a surface name would be “TM-104: Timber veneer” – and I just want the “TM-104” part.

    Ideas?

    in reply to: Report Complex Profile Extrusion Surface #18758
    Bruce Walker
    Participant

    Ok – so I wasn’t missing it!

    Do you know if this will be added in the future?

    in reply to: Report Object Override Surface #18756
    Bruce Walker
    Participant

    Excellent – thanks Péter

    in reply to: Report Complex Profile Extrusion Surface #18742
    Bruce Walker
    Participant

    Anyone? Anyone?

    in reply to: Automatic border box on label #18679
    Bruce Walker
    Participant

    Found it.

    I needed to create a boolean parameter called “ac_bDisableLabelFrameDisplay” and turn it on. Problem solved.

    in reply to: FIXING A CUSTOM LABEL WIDTH #18675
    Bruce Walker
    Participant

    You need to divide by 1000 as text parameters use the Real Number type

    in reply to: FIXING A CUSTOM LABEL WIDTH #18674
    Bruce Walker
    Participant
    reqNote = "Your Text Here"
    
    	DEFINE STYLE 'txtStyle' LABEL_FONT_NAME, LABEL_TEXT_SIZE, 5, 0
    
    	STYLE 'txtStyle'
    
    	! Get the Height and Width of the displayed Text, convert it to model size
    	r = request("Height_of_style", "txtStyle", _heightOfText_mm)
    	
    	_height	= _heightOfText_mm * GLOB_SCALE / 1000
    	_width 	= STW(reqNote) / 1000 * GLOB_SCALE
Viewing 11 posts - 1 through 11 (of 11 total)