1 import "Plant3d/Utils/P3DUtil"
3 import "Plant3d/Utils/Loader"
6 import "G3D/Math/Tuple3d" as T3D
7 import "G3D/Math/Vector3d" as V3D
8 import "G3D/Scenegraph/G3DNode" as G3D
9 import "Plant3d/Scenegraph/P3DRootNode" as P3R
10 import "Plant3d/Scenegraph/P3DNode" as P3N
11 import "Plant3d/Scenegraph/Equipment" as E
12 import "Plant3d/Scenegraph/PipelineComponent" as PC
13 import "Plant3d/Scenegraph/EndComponent" as EC
14 import "Plant3d/Scenegraph/InlineComponent" as IC
15 import "Plant3d/Scenegraph/TurnComponent" as TC
16 import "Plant3d/Utils/P3DScriptNodeMap" as P3S
17 import "Plant3d/Utils/P3DUtil" as P3DUtil
18 import "Plant3d/Utils/ComponentUtils" as CU
19 import "http://www.simantics.org/Layer0-1.1" as L0
24 myModel = syncWrite(\_ -> do
25 myModel = P3DUtil.createModel "Test3c"
26 claim (resource "http://Projects/Development%20Project") L0.ConsistsOf myModel
29 rootMaybe = javaSafeCoerce (P3S.getRootNode p3dmap) :: Maybe P3R.P3DRootNode
30 root = fromJust rootMaybe
31 pump = CU.createEquipmentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/Pump"
32 P3N.setName pump "My Pump"
33 P3S.commit p3dmap "Created a pump"
35 n1 = CU.createDefaultNozzle root pump
36 P3S.commit p3dmap "Created a nozzle"
38 pipe = CU.addComponent root (unsafeCoerce n1) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 1.0)
39 P3S.commit p3dmap "Created a pipe"
41 elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
42 TC.setRotationAngle (unsafeCoerce elbow) (Just 90.0)
43 P3S.commit p3dmap "Created a elbow"
45 pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 2.0)
46 P3S.commit p3dmap "Created a pipe"
48 elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
49 TC.setRotationAngle (unsafeCoerce elbow) (Just 180.0)
50 P3S.commit p3dmap "Created a elbow"
52 pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 1.0)
53 P3S.commit p3dmap "Created a pipe"
55 elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
56 TC.setRotationAngle (unsafeCoerce elbow) (Just 180.0)
57 P3S.commit p3dmap "Created a elbow"
59 pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 4.0)
60 P3S.commit p3dmap "Created a pipe"
63 reducer = CU.addComponent root (unsafeCoerce pipe) (CU.createSizeChange "http://www.simantics.org/Plant3D-0.1/Builtin/ConcentricReducer" PC.NEXT PC.NEXT 0.2 0.3)
64 P3S.commit p3dmap "Created a reducer"
67 pipe = CU.addComponent root (unsafeCoerce reducer) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 4.0)
68 P3S.commit p3dmap "Created a pipe"
71 elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
72 TC.setRotationAngle (unsafeCoerce elbow) (Just 180.0)
73 P3S.commit p3dmap "Created a elbow"
75 pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 4.0)
76 P3S.commit p3dmap "Created a pipe"
78 elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
79 TC.setRotationAngle (unsafeCoerce elbow) (Just 270.0)
80 P3S.commit p3dmap "Created a elbow"
82 pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 2.0)
83 P3S.commit p3dmap "Created a pipe"
85 elbow = CU.addComponent root (unsafeCoerce pipe) (CU.createFixedTurn "http://www.simantics.org/Plant3D-0.1/Builtin/Elbow90" PC.NEXT PC.NEXT)
86 TC.setRotationAngle (unsafeCoerce elbow) (Just 270.0)
87 P3S.commit p3dmap "Created a elbow"
89 pipe = CU.addComponent root (unsafeCoerce elbow) (CU.createVariableLength "http://www.simantics.org/Plant3D-0.1/Builtin/Straight" PC.NEXT PC.NEXT 1.0)
90 P3S.commit p3dmap "Created a pipe"
93 tank = CU.createEquipmentWithURI root "http://www.simantics.org/Plant3D-0.1/Builtin/HorizontalTank"
94 P3N.setName tank "My Tank"
95 G3D.setPosition tank (V3D.createVector3d 0.0 0.0 3.0)
96 P3S.commit p3dmap "Created a tank"
98 n2 = CU.createDefaultNozzle root tank
99 G3D.setPosition n2 (V3D.createVector3d 0.6 0.3 0.0)
100 P3S.commit p3dmap "Created a nozzle"
103 CU.connect pipe (unsafeCoerce n2)
104 P3S.commit p3dmap "Connected a pipe to a nozzle"