LPM/5 Principles

Back Home Up Next

 

FAQ

Questions on the General Principles used in LPM/5

Question 1

I am having trouble trying to determine which entities correspond to different information in our data structures. I can map a beam to a combination of points, nodes, an element_curve, 2 element_node_connectivity's, and an analysis_model, but I don't know if this is sufficient. Once I have established that there is an element between two nodes, can I refer to that element as either a beam or a column, or is this implicit in their orientation? And is there a way to differentiate between a beam and a horizontal brace, as our data structure does? I noticed that an assembly_design_structural_member_linear can be specified as a brace, a be am, a column, etc., but I don't see a connection between this entity and the entities I mentioned above.

Answer to Q1

In the CIS, there are three ways of viewing structural engineering information (sometimes called three levels of abstraction): analysis, design, and manufacturing. In this context, 'elements' are analytical devices, whereas assemblies can be either design concepts (assembly_design) or manufacturing specifications (assembly_manufacturing).

For analytical purposes, an analysis_model is composed of elements and nodes. If the SUPERTYPE entity 'element' is populated on its own (i.e. rather than as one of its subtypes) it merely has a name, number and description, and a relationship to its parent analysis_model. It also requires 'connecting nodes' - established via the 'element_node_connectivity' entity. Thus, an ‘element’ is an analytical finite element which is not ‘classified’ as a beam or column. Descriptive information may be added to the ‘element’ using its attributes ‘element_description’. (Please note that the ‘element_name’ has to be unique within an ‘analysis_model’.)

For design purposes, assemblies can be very abstract, with just a name, number and description. The subtypes of ‘assembly’ add more descriptive information – particularly about its function; e.g. ‘assembly_design_structural_member_linear’. Its attribute ‘linear_member_type’ may be set to .BEAM., .COLUMN., .BRACE., etc.

The relationship between the two entities ‘assembly’ and ‘element’ is made using the ‘assembly_map’ entity. This is an association between an assembly and a set of analytical elements. There is a similar construct – ‘part_map’ – that makes the association between a part and set of analytical elements. Finally, the construct - ‘element_mapping’ - makes the association between an element and a part.

Question 2

How do I populate an ANDOR supertype (e.g. element_with_material)?

Answer to Q2

Entities defined as subtypes or supertypes of other entities are mapped to the exchange structure (i.e. populated in the physical file) using one of two mapping rules, internal mapping or external mapping.

For example, the entity element is defined as a

ENTITY element
SUPERTYPE OF (ONEOF 
   
(element_volume, 
    element_surface,
    element_curve, 
    element_point) ANDOR 
    element_with_material)

Thus, the potential populations are:

  1. element
  2. element_volume
  3. element_surface
  4. element_curve
  5. element_point
  6. element+material
  7. element_volume+material
  8. element_surface+material
  9. element_curve+material
  10. element_point+material

In cases 1 to 6, internal mapping may be used. In cases 7 to 10, external mapping must be used, since these instances have 'multiple inheritance graphs'; i.e. they inherit attributes from 'parent entities' as well as 'sibling entities'.

The same principle extends to subtypes of the subtypes of element. For example, a sample population of element_curve_simple with material.

#1 = (ELEMENT ('1', 'Test element curve with material', #2, 1, $)
        ELEMENT_CURVE() ELEMENT_CURVE_SIMPLE(#3,$)
        ELEMENT_WITH_MATERIAL(#14));

Instances of an entity having a SUBTYPE clause in the EXPRESS entity declaration are known as 'complex entity instance', in that they involve attributes from more than one entity-type declaration. The treatment of complex entity instances is formally defined in clause 11.2.5 of STEP Part 21.

See the example physical file element+material.stp

A detailed explanation is given in Appendix F of the CIS/2 Implementation Guide.

Question 3

Where can I find entities for assemblies and parts? 

Answer to Q3

As discussed above, there are three ways of viewing structural engineering information: analysis, design, and manufacturing.  Parts and assemblies lie in both the design and manufacturing views.  Assemblies can be either design concepts (assembly_design) or manufacturing specifications (assembly_manufacturing).  Similarly, parts can be either design concepts (design_part) or manufacturing specifications (located_part).

(See also Q1 in the Manufacturing Section)

Question 3

Why not put the representation_context inside the cartesian_point entity?

Answer to Q3

The entities representation_context and cartesian_point are both taken from the STEP Generic Resources.  The representation_context entity is used to provide a context for several different types of representation.  Moreover, its subtype - geometric_representation_context is used  provide the context for several different types of geometric_representation_item - cartesian_point is one such item.

Question 4

When can I use indirect relationships for the representation_context so I don't have to put every node in a context?

Answer to Q4

Every representation_item must belong to a representation and thereby be given a context.  However, a representation_item may already belong to a representation by being used by another representation_item.  For example, a cartesian_point may be used to define a line, the cartesian_point is thereby placed in the geometric context of the line. 

Question 5

In CIS/1, the only aggregation type was SET. Is this true of CIS/2?

Answer to Q5

No, CIS/2 makes use of BAG, SET, LIST, and ARRAY data types.

Question 6

If people wish to extend scope of LPM/5? can additions be made to LPM/5?  Can you add more attributes (i.e. that may not already be included) to entities?

Answer to Q6

If errors are found in LPM/5 these need to be corrected, but it is not realistic to consider extending the scope of LPM/5.  LPM/5 is already large and complex, and should address in-scope needs.  A future extended-scope LPM/6 can be envisaged, but not until software vendors and the industry have fully exploited a stable LPM/5 (and until what else needs to included is fully understood).

Question 7

Is there a built-in means for extending CIS/2 entity definitions?

Answer to Q7

If the definition of an entity in the CIS/2 documentation is unclear, the authors should be consulted. The best way to do this is via the CIS Users Group, or the CIS/2 web site.

Users may not define new entities. Nor may they define new attributes for any of the entities. There are no 'user defined types' in the CIS.

Question 8

What if people wish to extend scope of LPM/5?

Answer to Q8

The formal version of LPM/5 (available from this site) in now fixed until 2002 at the earliest - any changes that are deemed necessary will have to go through the user group and put into a new schema (LPM/5.1) and released with a new CIS/2.1. These releases are likely to occur only once a year at most. More importantly, they will be upwardly compatible.

Question 9

How can additions be made to LPM/5?

Answer to Q9

Now that the LPM/5 schema is fixed - it is possible to make additions to LPM/5. We will have to look to the next release of the CIS (say CIS/2.1 containing LPM/5.1) or even the next generation of the CIS (say CIS/3 containing LPM/6) depending on the additional functionality requested.  There are several constructs in the LPM that appear highly complex, but they do allow for future extensions through subtyping.

Currently, the SCI is acting as the custodians of the CIS. It is doing this on behalf of the CIS Users Group and the wider industry. If this situation continues, then if people wish to have the LPM extended, they should propose this via the CIS Users Group (or through the web site). The web site will also host an 'Issues List', to which users and software vendors will be asked to contribute.

Question 10

Is there an element or something defined that groups all items in LPM/5 associated with a particular entity?

Answer to Q10

This is exactly what a Conformance Classes (CC) does for a particular entity. 

To group any entity instance with any other entity instance, use the group and group_relationship entities

 

 

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