Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce PhysicalType classes to StructuralPhysical #106

Open
wants to merge 20 commits into
base: master
Choose a base branch
from

Conversation

diegoalexdiaz
Copy link
Contributor

No description provided.

@diegoalexdiaz diegoalexdiaz requested review from a team as code owners June 23, 2022 13:33
@diegoalexdiaz diegoalexdiaz changed the title Introduce PhysicalType classes for StructuralPhysical Introduce PhysicalType classes to StructuralPhysical Jun 23, 2022
NabilSleiman
NabilSleiman previously approved these changes Jun 24, 2022
jchick-bentley
jchick-bentley previously approved these changes Jul 5, 2022
jchick-bentley
jchick-bentley previously approved these changes Dec 9, 2022
Copy link
Collaborator

@jchick-bentley jchick-bentley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@diegoalexdiaz we have StructuralComponents which have StructuralComponentTypes which is how we intended to assign materials. Is the intention here to assign the materials to a wall for example via the StructuralMemberType?

@jchick-bentley jchick-bentley dismissed their stale review December 9, 2022 18:08

ref. comment about StructuralComponentTypes

@diegoalexdiaz
Copy link
Contributor Author

@jchick-bentley, the expected pattern (described here) is a PhysicalMaterial instance referenced by either a PhysicalType (in which case, that material applies to all instances of such Type), or referenced by PhysicalElement instances directly (because they don't have a type-instance, or they are overriding the material specified by their type-instance).

In the case of a complex wall like the one from Revit, the Wall is modeled via an ArchPhys:WallType with layers. Those layers, also PhysicalTypes, are composed by the WallType in a particular order and thicknesses. Those "layerTypes" can reference their PhysicalMaterial.

The ArchPhys schema already has a WallLeafType class which applies to some of the wall-layers that are modeled in Revit. When a wall-layer in Revit is understood as Structural, according to what I've understood from you guys, the Revit Connector can then map it to a StructuralPhysical:WallType and reference the appropriate PhysicalMaterial for it.

In summary, the physicalMaterial is then specified per layer-type in the composite Wall case, as opposed to being assigned to the overall "wall-type" for the entire composite.

@jchick-bentley
Copy link
Collaborator

@jchick-bentley, the expected pattern (described here) is a PhysicalMaterial instance referenced by either a PhysicalType (in which case, that material applies to all instances of such Type), or referenced by PhysicalElement instances directly (because they don't have a type-instance, or they are overriding the material specified by their type-instance).

In the case of a complex wall like the one from Revit, the Wall is modeled via an ArchPhys:WallType with layers. Those layers, also PhysicalTypes, are composed by the WallType in a particular order and thicknesses. Those "layerTypes" can reference their PhysicalMaterial.

The ArchPhys schema already has a WallLeafType class which applies to some of the wall-layers that are modeled in Revit. When a wall-layer in Revit is understood as Structural, according to what I've understood from you guys, the Revit Connector can then map it to a StructuralPhysical:WallType and reference the appropriate PhysicalMaterial for it.

In summary, the physicalMaterial is then specified per layer-type in the composite Wall case, as opposed to being assigned to the overall "wall-type" for the entire composite.

This is the first time I looked at the schema since the topic arose. After I approved it, I saw all the component types we added a few years ago and that refreshed my memory. A StructuralMember is derived from a StructuralAssembly - Assembly of what? components. The component types were added for the assignment of materials. When we implemented components, that was the intent. So a precast wall may have a concrete rectangular solid as its main component, but, may also have embedded steel angles for welding to structural steel which would be modeled as separate profiled components. Material assignment by component via ComponentType rather than by WallType allows the for the clip angles to be part of the wall assembly and be assigned the correct material.

Another thing we need to consider for this specific revit issue, is that it concerns CMU block. We could arguably assign that concrete, but, we probably should add separate support for CMU alongside Concrete, Steel, Aluminum etc.

jchick-bentley
jchick-bentley previously approved these changes Dec 12, 2022
diegoalexdiaz and others added 2 commits June 5, 2024 11:12
* Update remarks

* Update descriptions and solve comments

* Update descriptions and solve comments

* Add missing PhysicalType sub-class descriptions. Add class diagram to remarks.

* Remove architectural (non-load-bearing) descriptions

* Add remarks for PhysicalType sub-classes

* Prevent duplication of the class descriptions from the schema when merged with its remarks.

---------

Co-authored-by: Diego Diaz <[email protected]>
@diegoalexdiaz diegoalexdiaz enabled auto-merge (squash) October 25, 2024 17:41
Copy link
Collaborator

@rgonzalo-orellana rgonzalo-orellana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved – no issues found.

Copy link
Collaborator

@jchick-bentley jchick-bentley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@diegoalexdiaz Did we revert all of the structural component classes and types - I don't see them anywhere? The mixin IStructuralComponent and associated relationships such as StructuralAssemblyOwnsStructuralComponents and StructuralAssemblyUsesMainComponent are still in StructuralPhysicalInterop.ecschema.xml . IStructuralComponent is also used in Fasteners.ecschema.xml

@diegoalexdiaz
Copy link
Contributor Author

@jchick-bentley - the focus of this PR is about adding PhysicalTypes to both the version in production and the "next-version" you worked on back then. This PR also brings the very first remarks file documenting the version in production. The "next-version" (still temporarily called v1.1.0) is in the same folder "on the side". This PR only renames it to "ecschema.xml" now that the schema-check tools in github can handle two WIP schemas in the same folder. Before it has been kept around as ".xml.bak". All its original content is still in there... it just has new PhysicalType classes.

@diegoalexdiaz diegoalexdiaz requested review from BinithAnto and removed request for JValiunas November 8, 2024 18:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

StructuralPhysical schema v1.0.0 missing bis:PhysicalType subclasses
5 participants