Design Constructs

Back Home Up Next

 

FAQ

Questions on the LPM/5 Design Constructs

Question 1

How do you deal with compound sections – e.g. cruciform sections?

Answer to Q1

Using a section_profile_compound.  This is a type of complex section profile that is as made up from two or more other section profiles. Each of these section profiles is placed with their local coordinate system related to some point. Each of the section profiles may also be rotated with respect to a reference coordinate system. In some cases, the local coordinate system of the first section profile referenced would provide the reference coordinate system to locate and rotate the remaining section profiles. Back-to-back angles and crane rails are simple examples of compound section profiles.

Question 2

When you talk about a planar assembly, does this mean we can describe, e.g., a pressure vessel or a tank?

Answer to Q2

No. A planar assembly is one that lies in a plane i.e. one that is predominantly two dimensional- e.g. a floor slab or a wall. A pressure vessel is three dimensional and therefore is described using an assembly_design_structural_member_cubic.  

Question 3

What is the meaning of the LOGICAL value for section_profile's attribute "mirrored"?

Answer to Q3

The 'mirrored' attribute of the entity section_profile declares whether the section profile is mirrored (TRUE), not (FALSE), or unknown (UNKNOWN). This attribute is used when asymmetric sections are used in a handed fashion to that defined in the entity definition. For example, an angle section is defined such that its toe appears on the right hand (y-negative) side when viewed from the start (x=0) end. If the angle section is then used in an element or part such that its toe appears on the left hand (y-positive) side when viewed from the start (x=0) end, the section is said to be mirrored (and the attribute is given a value of TRUE). 

Declaring a section that is symmetrical about the z-axis to be mirrored has no effect on the definition of the geometry of the section or its local axes. In such a case, a value of UNKNOWN would be more appropriate. It should be noted that the mirroring acts about the z-axis only – changing a ‘right handed’ section into a ‘left-handed’ section. Where the section is used such that its local z-axis points ‘down’ rather than ‘up’, this transformation is done by the rotation of the element or the part about its local x-axis (and not by using the mirrored attribute). The definition of the cardinal points is mirrored when this attribute is set to TRUE. That is ‘right’ becomes ‘left’ and ‘left’ becomes right. This is illustrated in Figure 14.3 of Volume 4 of the CIS/2 documentation.

Question 4

What is the appropriate way to assign a unit to material_strength? One of our engineers and I were looking through the different units for one that seemed to represent kips/in2 (N/m2). Material_strength's material_strength_value is a pressure_measure, but pressure_unit doesn't seem to have the right dimensional exponents. We were expecting the length exponent to be -2, but it is -1. Can you explain it to me?

Answer to Q4

An SI pressure unit is represented in a Part 21 file as

/* Pressure Unit (kiloPascal) */
#32 = (NAMED_UNIT(*) PRESSURE_UNIT() SI_UNIT(.KILO.,.PASCAL.));

An Imperial pressure unit is represented in a Part 21 file as

/* Pressure Unit (kip per square inch) */
#120 = DIMENSIONAL_EXPONENTS (-1.0,1.0,-2.0,0.0,0.0,0.0,0.0);
#121 = (CONTEXT_DEPENDENT_UNIT('KIPS_PER_SQUARE_INCH') NAMED_UNIT(#120)PRESSURE_UNIT());

The dimensional exponents may appear odd - because they are derived in the following way. Pressure is Force per unit area (P=F/A), Force is mass times acceleration (F=ma), acceleration is rate of change of velocity (a=v/t), and velocity is rate of change of displacement (v=l/t). Thus, the dimensional exponents of a pressure unit are (M*(L/T2))/(L2). Which resolves to (M*L-1*T-2) - hence only -1 in the length exponent.

Question 5

For my linear units, I created a representation using a geometric_representation_context_and_global_unit_assigned_context for my context, where my units were length units. I noticed that all representation_items need to have a representation that references them. This includes material_representation_items. So I thought I should set up a similar representation (material_representation) for my pressure units using a global_unit_assigned_context_and_material_property_context. However, I noticed that my material_isotropic references a material_representation through it's "definition" attribute, but I am just using material_property_context_dimensional for the context, not ANDOR global_unit_assigned_context. Do I need a global representation for all of my material representation items?

Also, global_unit_assigned_context has as one of it's attributes a "Set of Units". Why not just one unit? When would I use more than one kind of unit?

Answer to Q5

Let's take it reverse order.

ENTITY global_unit_assigned_context
SUBTYPE OF (REPRESENTATION_CONTEXT);
units : SET [1:?] OF UNIT;
END_ENTITY; -- STEP Part 41

- Yes, you can have a set of one unit. You will need more than one unit when your context refers to several things which all need different units. For example, the representation_context can also be a material_loading_context AND a material_strain_context AND material_stress_context (because of the ANDOR supertypes). Each of these parameters should be assigned a unit. A Part 21 example os shown below.

#3051=MATERIAL_ISOTROPIC(987978997,'my material','my description',#3052); #3052=MATERIAL_REPRESENTATION('my rep',(#3058,#3059,#3062),#3053); #3053=(GLOBAL_UNIT_ASSIGNED_CONTEXT((#3054,#3055,#3060)) MATERIAL_PROPERTY_CONTEXT() MATERIAL_PROPERTY_CONTEXT_DIMENSIONAL(0.0,16.0) MATERIAL_PROPERTY_CONTEXT_STRAIN(0.0,0.002) REPRESENTATION_CONTEXT('context 1234','context for material'));
#3054=RATIO_UNIT(#3056); #3055=PRESSURE_UNIT(#3057); #3056=DIMENSIONAL_EXPONENTS(0.0,0.0,0.0,0.0,0.0,0.0,0.0); #3057=DIMENSIONAL_EXPONENTS(-1.0,1.0,-2.0,0.0,0.0,0.0,0.0);
#3058=MATERIAL_ELASTICITY('my elasicity',0.3,200.0,76.92,160.0);
#3059=MATERIAL_STRENGTH('yield strength',275.0);
#3062=MATERIAL_STRENGTH('ultimate tensile strength',430.0);
#3060=LENGTH_UNIT(#3061);
#3061=DIMENSIONAL_EXPONENTS(1.0,0.0,0.0,0.0,0.0,0.0,0.0);

Now, the material_representation_item must be used as part of a material_representation (the two entities are mutually dependent), and the material_representation must have a context that is BOTH a material_property_context AND a global_unit_assigned_context (due to WHERE Rule WRM21). So yes, you do need a global representation for all of your material representation items - one for each 'group' of material properties.

Question 6

For material_mass_density, I need to define a mass per unit volume unit for the mass_density. I have looked through us_units.stp and si_units.stp and I didn't see any examples of this type of unit. I'm assuming it is going to be some kind of derived unit. Does anyone have an example they can share with me?

Answer to Q6

Unlike mass_per_length - mass density does not have an explicitly named unit in LPM/5 - you have to 'make your own' using the derived_unit entity.

See below for examples of mass density unit.

/* SI Mass per volume Unit (kilogram per cubic metre) */

#1380 = DERIVED_UNIT ((#1381, #1382));
#1381 = DERIVED_UNIT_ELEMENT (#1383, 1.0);
#1382 = DERIVED_UNIT_ELEMENT (#1384, -3.0);
#1383 = (MASS_UNIT() NAMED_UNIT(*) SI_UNIT(.KILO.,.GRAM.));
#1384 = (LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT($,.METRE.));

/* Imperial Mass per volume Unit (pound per cubic inch) */

#1181 = DERIVED_UNIT ((#1182, #1183));
#1182 = DERIVED_UNIT_ELEMENT (#1121, 1.0);
#1183 = DERIVED_UNIT_ELEMENT (#1111, -3.0);
#1120 = DIMENSIONAL_EXPONENTS (0.0,1.0,0.0,0.0,0.0,0.0,0.0);
#1121 = (CONTEXT_DEPENDENT_UNIT('POUND') MASS_UNIT() NAMED_UNIT(#1120));
#1110 = DIMENSIONAL_EXPONENTS (1.0,0.0,0.0,0.0,0.0,0.0,0.0);
#1111 = (CONTEXT_DEPENDENT_UNIT('INCH') LENGTH_UNIT() NAMED_UNIT(#1110));

Question 7

How can I represent a building storey in CIS/2?

Answer to Q7

A building storey is represented by the entity "zone_of_building_storey" described on page 88 of publication SCI-P-268 (Volume 4 of the CIS/2 documentation). The attribute "zone_name" may be used to represent the "storey number". The total number of storeys of a building may be derived by reference to the "building". Storeys may be grouped using the "group_of_structural_data" entity described on page 439 of SCI-P-268.

Question 8

How are design code parameters represented?  By the design_criterion_documented?

Answer to Q8

As you may have ready worked out, the 'design_criterion' holds a free text description concerning an aspect of the design of an assembly. The 'design_criterion_documented' allows a little more formality in the detail. It effectively relates an instance of 'assembly_design' with an instance of 'document_usage_constraint'.  This STEP entity represents a documented constraint on the use of the information represented by the 'assembly_design'. As you correctly guessed, this would typically be a design parameter as documented in a national standard or code of practice.  

(See pages 37 and 879 of publication SCI-P-268 (Volume 4 of the CIS/2 documentation).

(For the definition of 'document_usage_constraint' see ISO 10303-41:1994: clause 4.2.3.4.)

Question 9

Are there any examples on how to represent general solids?  How are hole features derived from model entities (ex. pipe penetrations) defined and maintained?

Answer to Q9

In CIS/2, solids are represented using entities from the geometric_model_schema of STEP Part 42 (ISO 10303-42:1994 clause 6).  To understand the STEP Part 42 constructs you may wish to read "Euler Formulas and Geometric Modeling" by P.R.Wilson, IEEE Computer Graphics & Applications, Vol. 5, No 8 pp24-36, August 1985. (Peter Wilson was one of the main contributors to STEP Part 42.)

The entity 'solid_model' and its subtypes are shown in EXPRESS-G on page 853 of publication SCI-P-268 (Volume 4 of the CIS/2 documentation).

In most situations, you will not need to resort to explicit geometry to define features that are applied to steel parts.  As seen on pages 849-851 of publication SCI-P-268, there are a whole range of 'simple' features that define chamfers, notches, and bolt holes.  Page 275 explains the principles behind the use of features and how they are applied to parts. 

Question 10

How would structural fireproofing by represented?  It’s often more than just a simple attribute, but can be modeled complete with offsets from member ends, and have different contour configurations etc…

Answer to Question 10

It really depends on the type of fireproofing you have.  For example, if you are using an intumescent paint then this should be represented as a surface treatment. As seen on pages 863 of publication SCI-P-268, LPM/5 has a range of surface treatments, and the entity 'surface_treatment_coat' allows the definition of the number of layers of coating, the method of coating and the thickness of each layer. The specification of each coat is made by reference to the entity 'coating'.  ('Coating' is simply a type of 'structural_frame_product', and as such, can be given a material, a price, a standard reference, etc...

To apply the coating to the part, use and instance of 'feature_surface_treatment' and apply it to the part (or assembly) using an instance of 'located_feature_for_located_part' (or located_feature_for_located_assembly).

A similar approach may be taken for sprayed or brush applied fire protection systems. 

If, on the other hand, fire protection is provided by a boarded system then you may wish to treat the boards as separate products, with an appropriate material specification or item reference. (Remember, if its in a product catalogue - it can have an item reference.)  The structure is made of assemblies that contain a number of non-steel parts  

In the situation where fire protection is provided by concrete encasement, then you may wish to treat the protected members as an assembly with a steel component and a concrete component. If the steel and concrete act compositely, then you may represent the transformed section profile for analysis purposes using an instance of 'section_profile_compound' ensuring that you have used an appropriate modular ratio. 

As you can see, concrete and steel building components are treated as products in CIS/2 and are both represented by instances of 'structural_frame_product' (or one of its subtypes).

Question 11

There seems to be two ways to map analysis results to design_parts.  One is to manage the correspondence between element and design_part instances with element_mapping, that refers to two corresponding instances. The other is to use design_result_mapped, as an AND inheritance to design_result_part. This defines a direct path between analysis_results_set and design_part. Do you have guidance on which to use in different conditions?

Answer to Q11

The preferred way to map analysis results onto a design part is to use the entity 'design_result_mapped' together with its sibling subtypes design_result_part. This provides the most direct relationship between analysis results and design parts and allows the specification of the axial, bending or shear resistance required for a specific design part. The set of analysis results that are associated with the 'design_result_mapped' show the origin of the design results. (These are not essential for fabrication, but it allows checks to be made - such as the factoring used to derive the design results.)

Question 12

If it is desired to manage the correspondence between elements and both design_parts and located_parts, is it required to have two sets of element_mapping, one set to address correspondences between elements and design_parts, and another set to deal with the correspondences between elements and located_parts?

Answer to Q12

The elements, design_parts and located_parts fit into the analysis, design and physical models respectively. There are several ways of mapping these items in the LPM, and which one you choose will depend upon your viewpoint. Thus, if you are an analyst (creating analysis models) you should map from element to part, located_part, or design_part using the entity element_mapping. If you are a detailer or fabricator (creating physical models) then you should map from part to element using the entity part_map. If you need to manage the correspondence between elements and both design_parts and located_parts, you need two sets of element_mapping, one set to address correspondences between elements and design_parts, and another set to deal with the correspondences between elements and located_parts?

Question 13

Is there any way to directly manage the correspondence between instances of design_parts and instances of located_parts?

Answer to Q13

There is no direct relationship in the LPM between design_part and located_part. The way to collect one or more instance of design_part with one or more instances of located_part is to use the group entities. In this case, an instance of 'group_of_design_data' would be placed in the same group as an instance of 'group_of_physical_data' with a single instance of design_part selected via 'select_design_item' and a single instance of located_part selected via 'select_physical_item' (see pg 808 of SCI-P-268).

It was expected that any mapping between design and physical models would be done at the higher (assembly) level using the entity assembly_relationship.

 

   

CIS/2 - online

This web site is hosted and maintained by 

SCI Home PageThe Steel Construction Institute

Copyright © 1999, 2000, 2003.  All rights reserved. 
Last modified: Friday April 20, 2001.

Questions or problems regarding this web site should be directed to Andrew Crowley.

CIS/2 is based on deliverables of the Eureka EU130 CIMsteel Project.

cimsteel_logo.gif (2358 bytes)

Copyright ©  The CIMsteel Collaborators.
CIMsteel is a Registered Trademark.

Other products mentioned are registered trademarks or trademarks of their respective companies