-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
IVS-175/CTX000 - Presentation colours and textures
- Loading branch information
1 parent
c1e2bc5
commit 74a62af
Showing
10 changed files
with
6,755 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
@implementer-agreement | ||
@CTX | ||
@version1 | ||
@E00020 | ||
|
||
Feature: CTX000 - Presentation colours and textures | ||
The rule verifies the presence of colour, texture and other presentation appearance information to objects. | ||
https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/concepts/Product_Shape/Product_Geometry_Colour/content.html | ||
|
||
Scenario Outline: Check for activation | ||
|
||
Given an <entity type> | ||
Given its attribute <attribute> | ||
|
||
Then The IFC model contains information on the selected functional part | ||
|
||
Examples: | ||
| entity type | attribute | | ||
| IfcSolidModel | StyledByItem | | ||
| IfcTessellatedFaceSet | StyledByItem | | ||
| IfcTessellatedFaceSet | HasColours | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
ISO-10303-21; | ||
HEADER; | ||
FILE_DESCRIPTION(('ViewDefinition[CoordinationView]'),'2;1'); | ||
FILE_NAME('C:/Example/Path/Example_File.IFC','2024-07-04T11:07:30',(''),(''),'Example IFC','Example Architecture',''); | ||
FILE_SCHEMA(('IFC2X3')); | ||
ENDSEC; | ||
DATA; | ||
#1 = IFCPROJECT('A1B2C3D4E5F6G7H8I9J0K1L2', #2, $, $, $, $, $, (#7), #10); | ||
#2 = IFCOWNERHISTORY(#3, #6, $, .ADDED., $, $, $, 1717497896); | ||
#3 = IFCPERSONANDORGANIZATION(#4, #5, $); | ||
#4 = IFCPERSON($, 'User', 'Example', $, $, $, $, $); | ||
#5 = IFCORGANIZATION($, 'Example', 'Example Architecture', $, $); | ||
#6 = IFCAPPLICATION(#5, '0.10', 'manuell', 'EXA 001'); | ||
#7 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 0.00001, #8, $); | ||
#8 = IFCAXIS2PLACEMENT3D(#9, $, $); | ||
#9 = IFCCARTESIANPOINT((0.0, 0.0, 0.0)); | ||
#10 = IFCUNITASSIGNMENT((#11, #12, #13, #14, #18, #19, #20, #21, #22)); | ||
#11 = IFCSIUNIT(*, .LENGTHUNIT., .MILLI., .METRE.); | ||
#12 = IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.); | ||
#13 = IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.); | ||
#14 = IFCCONVERSIONBASEDUNIT(#15, .PLANEANGLEUNIT., 'DEGREE', #16); | ||
#15 = IFCDIMENSIONALEXPONENTS(0, 0, 0, 0, 0, 0, 0); | ||
#16 = IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453293), #17); | ||
#17 = IFCSIUNIT(*, .PLANEANGLEUNIT., $, .RADIAN.); | ||
#18 = IFCSIUNIT(*, .SOLIDANGLEUNIT., $, .STERADIAN.); | ||
#19 = IFCSIUNIT(*, .MASSUNIT., $, .GRAM.); | ||
#20 = IFCSIUNIT(*, .TIMEUNIT., $, .SECOND.); | ||
#21 = IFCSIUNIT(*, .THERMODYNAMICTEMPERATUREUNIT., $, .DEGREE_CELSIUS.); | ||
#22 = IFCSIUNIT(*, .LUMINOUSINTENSITYUNIT., $, .LUMEN.); | ||
#23 = IFCBUILDING('B2C3D4E5F6G7H8I9J0K1L2M3',#2,'Building',$,$,#24,$,$,.ELEMENT.,$,$,$); | ||
#24 = IFCLOCALPLACEMENT($, #25); | ||
#25 = IFCAXIS2PLACEMENT3D(#26, $, $); | ||
#26 = IFCCARTESIANPOINT((0.0, 0.0, 0.0)); | ||
#27 = IFCRELCONTAINEDINSPATIALSTRUCTURE('C3D4E5F6G7H8I9J0K1L2M3N4',#2,$,$ | ||
,(#28),#23); | ||
#28 = IFCRELAGGREGATES('D4E5F6G7H8I9J0K1L2M3N4O5', #2, 'Container', 'Container', #1, (#23)); | ||
#30 = IFCLOCALPLACEMENT($, #32); | ||
#31 = IFCPRODUCTDEFINITIONSHAPE('Rep_Root', 'List of shape representations for Root', (#33)); | ||
#32 = IFCAXIS2PLACEMENT3D(#34, #35, #36); | ||
#33 = IFCSHAPEREPRESENTATION(#7, 'Body', 'Brep', (#37, #38, #39, #40)); | ||
#34 = IFCCARTESIANPOINT((0.0, 0.0, 0.0)); | ||
#35 = IFCDIRECTION((0.0, 0.0, 1.0)); | ||
#36 = IFCDIRECTION((1.0, 0.0, 0.0)); | ||
#37 = IFCFACETEDBREP(#38); | ||
#38 = IFCCLOSEDSHELL((#39, #40, #41, #42, #43, #44)); | ||
#39 = IFCFACE((#45)); | ||
#40 = IFCFACEOUTERBOUND(#46, .T.); | ||
#41 = IFCPOLYLOOP((#47, #48, #49, #50)); | ||
#42 = IFCFACE((#51)); | ||
#43 = IFCFACEOUTERBOUND(#52, .T.); | ||
#44 = IFCPOLYLOOP((#53, #54, #55, #56)); | ||
#45 = IFCCARTESIANPOINT((127.27140625, 1150.26096844596, -9.0)); | ||
#46 = IFCCARTESIANPOINT((102.27140625, 1150.26096843618, -9.0)); | ||
#47 = IFCCARTESIANPOINT((102.27140625, 1150.26096843618, -4.0)); | ||
#48 = IFCCARTESIANPOINT((127.27140625, 1150.26096844596, -4.0)); | ||
#49 = IFCFACE((#50)); | ||
#50 = IFCFACEOUTERBOUND(#51, .T.); | ||
#51 = IFCPOLYLOOP((#52, #53, #54, #55)); | ||
#52 = IFCCARTESIANPOINT((102.27140625, 1150.26096843618, -9.0)); | ||
#53 = IFCCARTESIANPOINT((102.27140625, 1125.26096843618, -9.0)); | ||
#54 = IFCCARTESIANPOINT((102.27140625, 1125.26096843618, -4.0)); | ||
#55 = IFCCARTESIANPOINT((102.27140625, 1150.26096843618, -4.0)); | ||
#56 = IFCFACE((#57)); | ||
#57 = IFCFACEOUTERBOUND(#58, .T.); | ||
#58 = IFCPOLYLOOP((#59, #60, #61, #62)); | ||
#59 = IFCCARTESIANPOINT((102.27140625, 1125.26096843618, -9.0)); | ||
#60 = IFCCARTESIANPOINT((127.27140625, 1125.26096844596, -9.0)); | ||
#61 = IFCCARTESIANPOINT((127.27140625, 1125.26096844596, -4.0)); | ||
#62 = IFCCARTESIANPOINT((102.27140625, 1125.26096843618, -4.0)); | ||
ENDSEC; | ||
END-ISO-10303-21; |
79 changes: 79 additions & 0 deletions
79
test/files/ctx000/na-ctx000-polygonal_face_no_colous_or_styles.ifc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
ISO-10303-21; | ||
HEADER; | ||
FILE_DESCRIPTION(('ViewDefinition [notYetAssigned]'),'2;1'); | ||
FILE_NAME( | ||
/* name */ 'polygonal-faceset-cube.ifc', | ||
/* time_stamp */ '2016-05-26T17:38:29', | ||
/* author */ ('jonm'), | ||
/* organization */ ('Geometry Gym'), | ||
/* preprocessor_version */ 'GeomGymIFC by Geometry Gym Pty Ltd', | ||
/* originating_system */ 'ggRhinoIFC - Grasshopper3d Plug-in by Geometry Gym Pty Ltd', | ||
/* authorization */ 'None'); | ||
|
||
FILE_SCHEMA (('IFC4')); | ||
ENDSEC; | ||
|
||
DATA; | ||
#1= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.01,#3,$); | ||
#2= IFCCARTESIANPOINT((0.0,0.0,0.0)); | ||
#3= IFCAXIS2PLACEMENT3D(#3058,#3059,#3060); | ||
#4= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#1,$,.MODEL_VIEW.,$); | ||
#5= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#1,$,.MODEL_VIEW.,$); | ||
#6= IFCCARTESIANPOINT((0.0,0.0,0.0)); | ||
#7= IFCDIRECTION((1.0,0.0,0.0)); | ||
#8= IFCDIRECTION((0.0,1.0,0.0)); | ||
#9= IFCDIRECTION((0.0,0.0,1.0)); | ||
#10= IFCCARTESIANPOINT((0.0,0.0)); | ||
#11= IFCAXIS2PLACEMENT2D(#10,$); | ||
#12= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); | ||
#13= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); | ||
#14= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); | ||
/* ------------------------------------------------------------------------- */ | ||
/* polygonal face set geometry representation */ | ||
#15= IFCCARTESIANPOINTLIST3D(((-10000.0,-10000.0,-10000.0),(10000.0,-10000.0,-10000.0),(10000.0,10000.0,-10000.0),(-10000.0,10000.0,-10000.0),(-10000.0,-10000.0,10000.0),(10000.0,-10000.0,10000.0),(10000.0,10000.0,10000.0),(-10000.0,10000.0,10000.0),(-5000.0,-5000.0,-5000.0),(5000.0,-5000.0,-5000.0),(5000.0,5000.0,-5000.0),(-5000.0,5000.0,-5000.0),(5000.0,-5000.0,10000.0),(-5000.0,-5000.0,10000.0),(5000.0,5000.0,10000.0),(-5000.0,5000.0,10000.0))); | ||
#16= IFCINDEXEDPOLYGONALFACE((2,6,6,5,1)); | ||
#17= IFCINDEXEDPOLYGONALFACE((3,7,6,2)); | ||
#18= IFCINDEXEDPOLYGONALFACE((4,8,7,3)); | ||
#19= IFCINDEXEDPOLYGONALFACE((1,5,8,4)); | ||
#20= IFCINDEXEDPOLYGONALFACE((4,3,2,1)); | ||
#21= IFCINDEXEDPOLYGONALFACEWITHVOIDS((6,7,8,5),((14,16,15,13))); | ||
#22= IFCINDEXEDPOLYGONALFACE((13,10,9,14)); | ||
#23= IFCINDEXEDPOLYGONALFACE((15,11,10,13)); | ||
#24= IFCINDEXEDPOLYGONALFACE((16,12,11,15)); | ||
#25= IFCINDEXEDPOLYGONALFACE((14,9,12,16)); | ||
#26= IFCINDEXEDPOLYGONALFACE((9,10,11,12)); | ||
#27= IFCPOLYGONALFACESET(#15,.T.,(#16,#17,#18,#19,#20,#21,#22,#23,#24,#25,#26),$); | ||
#28= IFCSHAPEREPRESENTATION(#5,'Body','Tessellation',(#27)); | ||
#29= IFCPRODUCTDEFINITIONSHAPE($,$,(#28)); | ||
/* ------------------------------------------------------------------------- */ | ||
/* assigned as shape representation to a proxy */ | ||
#30= IFCBUILDINGELEMENTPROXY('1csV6umSb0px7vDxobGEN_',#3054,'NOTDEFINED',$,$,#32,#29,$,.NOTDEFINED.); | ||
#31= IFCAXIS2PLACEMENT3D(#2,$,$); | ||
#32= IFCLOCALPLACEMENT(#3047,#31); | ||
#3047= IFCLOCALPLACEMENT($,#3); | ||
/* ------------------------------------------------------------------------- */ | ||
/* definition of the minimal building structure, units, owner history */ | ||
#3048= IFCBUILDING('2tMIBeIVfClPSrbOosOJDI',#3054,'Grasshopper Building','GH Building',$,#3047,$,'GH Building',$,0.0,0.0,$); | ||
#3049= IFCPERSONANDORGANIZATION(#3050,#3051,$); | ||
#3050= IFCPERSON('jonm','jonm',$,$,$,$,$,$); | ||
#3051= IFCORGANIZATION($,'Geometry Gym',$,$,$); | ||
#3052= IFCAPPLICATION(#3053,'1.4.14.0','ggRhinoIFC - Grasshopper3d Plug-in by Geometry Gym Pty Ltd','ggRhinoIFC'); | ||
#3053= IFCORGANIZATION($,'Geometry Gym Pty Ltd',$,$,$); | ||
#3054= IFCOWNERHISTORY(#3049,#3052,$,.ADDED.,1464284014,$,$,1464284014); | ||
#3055= IFCRELCONTAINEDINSPATIALSTRUCTURE('3_FDRX0_zCNwiRAZP_mk8l',#3054,'Building','Building Container for Elements',(#30),#3048); | ||
#3056= IFCAXIS2PLACEMENT3D(#2,$,$); | ||
#3058= IFCCARTESIANPOINT((0.0,0.0,0.0)); | ||
#3059= IFCDIRECTION((0.0,0.0,1.0)); | ||
#3060= IFCDIRECTION((1.0,0.0,0.0)); | ||
#3061= IFCPROJECT('37E0t9DhPDuPXM8sgxexaw',#3054,'Grasshopper Project',$,$,$,$,(#1),#3062); | ||
#3062= IFCUNITASSIGNMENT((#3063,#13,#14,#3064,#3065)); | ||
#3063= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); | ||
#3064= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); | ||
#3065= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.); | ||
#3066= IFCRELAGGREGATES('1jnXpsMarCZQ$Xxt61uMb4',#3054,'Project Container','Project Container for Buildings',#3061,(#3048)); | ||
#3070= IFCAXIS2PLACEMENT3D(#2,$,$); | ||
ENDSEC; | ||
|
||
END-ISO-10303-21; | ||
|
||
|
41 changes: 41 additions & 0 deletions
41
test/files/ctx000/pass-ctx000-colours_tessellated_face_set.ifc
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.