Navigation

part_prismatic_complex

EXPRESS specification:

ENTITY part_prismatic_complex
SUBTYPE OF ( part_prismatic);
cross_sections  :  LIST [2:?] OF section_profile;
points_defining_part_axis  :  LIST [2:?] OF point_on_curve;
section_orientations  :  LIST [2:?] OF orientation_select;
DERIVE
number_of_sections  :  INTEGER :=  SIZEOF(cross_sections);
curve_defining_part  :  curve :=  points_defining_part_axis[1]\point_on_curve.basis_curve;
WHERE
WRP3  :  ( (SIZEOF (points_defining_part_axis) = number_of_sections) AND (SIZEOF (section_orientations) = number_of_sections) );
WRP4  :  SIZEOF(QUERY(temp <* points_defining_part_axis | (temp\point_on_curve.basis_curve) :<>: curve_defining_part)) = 0;
END_ENTITY;

References (2):

Name Type Referred through Express-G
part_prismatic Entity
Subtype
No Diagram
part_prismatic_complex_tapered Entity
Supertype
No Diagram

Inheritance graph

ENTITY part_prismatic_complex;
ENTITY structural_frame_item;
item_number  :  INTEGER;
item_name  :  label;
item_description  :  OPTIONAL text;
DERIVE
item_ref  :  BAG OF identifier :=  get_item_ref(SELF);
cost_code  :  BAG OF label :=  get_item_cost_code(SELF);
object_id  :  globally_unique_id :=  get_instance_id(SELF);
ENTITY structural_frame_product;
life_cycle_stage  :  OPTIONAL label;
ENTITY part;
fabrication_method  :  fabrication_type;
manufacturers_ref  :  OPTIONAL text;
DERIVE
part_number  :  INTEGER :=  SELF\structural_frame_item.item_number;
part_name  :  label :=  SELF\structural_frame_item.item_name;
design_uses  :  SET OF design_part :=  bag_to_set 
(USEDIN(SELF,'STRUCTURAL_FRAME_SCHEMA.DESIGN_PART.DESIGN_PART_SPEC'));
physical_uses  :  SET OF located_part :=  bag_to_set 
(USEDIN(SELF,'STRUCTURAL_FRAME_SCHEMA.LOCATED_PART.DESCRIPTIVE_PART'));
ENTITY part_prismatic;
ENTITY part_prismatic_complex;
cross_sections  :  LIST [2:?] OF section_profile;
points_defining_part_axis  :  LIST [2:?] OF point_on_curve;
section_orientations  :  LIST [2:?] OF orientation_select;
DERIVE
number_of_sections  :  INTEGER :=  SIZEOF(cross_sections);
curve_defining_part  :  curve :=  points_defining_part_axis[1]\point_on_curve.basis_curve;
END_ENTITY;