--- /dev/null
+L0 = <http://www.simantics.org/Layer0-1.1>
+VP = <http://www.simantics.org/Viewpoint-1.2>
+PROJ = <http://www.simantics.org/Project-1.2>
+SIM = <http://www.simantics.org/Simulation-1.1>
+IMAGE = <http://www.simantics.org/Image2-1.2>
+ACT = <http://www.simantics.org/Action-1.1>
+P3D = <http://www.simantics.org/Plant3D-0.1>
+CSG = <http://www.simantics.org/CSG-0.1>
+SILK = <http://www.simantics.org/Silk-1.1>
+
+
+PBC = P3D.P3DBrowseContext : VP.BrowseContext
+ VP.BrowseContext.IsIncludedIn PROJ.ProjectBrowseContext
+ @VP.constantImageRule P3D.Plant IMAGES.Factory
+ @VP.constantImageRule P3D.Equipment IMAGES.Tank
+ @VP.constantImageRule P3D.TurnComponent IMAGES.Elbow
+ @VP.constantImageRule P3D.Nozzle IMAGES.Nozzle
+ @VP.constantImageRule P3D.InlineComponent IMAGES.Component
+ @VP.constantImageRule P3D.Builtin.Straight IMAGES.Straight
+ @VP.constantImageRule P3D.EndComponent IMAGES.Component
+ @VP.constantImageRule P3D.PipeRun IMAGES.Straight
+ @VP.relationChildRule PROJ.Project L0.ConsistsOf P3D.Plant
+ @VP.relationChildRule P3D.Node P3D.childen P3D.Node
+ @VP.relationChildRule P3D.Node P3D.HasNozzle P3D.Node
+
+
+IMAGES = P3D.Images : L0.Library
+IMAGES.Component : IMAGE.PngImage
+ @L0.loadBytes "images/Component.png"
+IMAGES.Elbow : IMAGE.PngImage
+ @L0.loadBytes "images/Elbow.png"
+IMAGES.Factory : IMAGE.PngImage
+ @L0.loadBytes "images/factory.png"
+IMAGES.Nozzle : IMAGE.PngImage
+ @L0.loadBytes "images/Nozzle.png"
+IMAGES.Straight : IMAGE.PngImage
+ @L0.loadBytes "images/Straight.png"
+IMAGES.Tank : IMAGE.PngImage
+ @L0.loadBytes "images/tank.png"
+
+MAC = P3D.P3DActionContext : VP.BrowseContext
+ VP.BrowseContext.IsIncludedIn PROJ.ProjectActionContext
+
+
+MAC.newContribution : L0.Template
+ @template %actionContext %label %action %image
+ %actionContext
+ VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
+ L0.HasLabel %label
+ VP.ActionContribution.HasImage %image
+ VP.ActionContribution.HasCategory VP.NewActionCategory
+ VP.ActionContribution.HasNodeType P3D.Plant
+ VP.ActionContribution.HasAction %action
+
+MAC.newTypeContribution : L0.Template
+ @template %actionContext %label %action %type %image
+ %actionContext
+ VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
+ L0.HasLabel %label
+ VP.ActionContribution.HasImage %image
+ VP.ActionContribution.HasCategory VP.NewActionCategory
+ VP.ActionContribution.HasNodeType %type
+ VP.ActionContribution.HasAction %action
+
+MAC.editTypeContribution : L0.Template
+ @template %actionContext %label %action %type %image
+ %actionContext
+ VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
+ L0.HasLabel %label
+ VP.ActionContribution.HasImage %image
+ VP.ActionContribution.HasCategory VP.EditActionCategory
+ VP.ActionContribution.HasNodeType %type
+ VP.ActionContribution.HasAction %action
\ No newline at end of file