Part Modification Handlers), and A Wbs Handler: Cmassignmodule, Cmassignmodule - Assignmodulebyvolume
Part Modification Handlers), and A Wbs Handler: Cmassignmodule, Cmassignmodule - Assignmodulebyvolume
ModuleSpaces.xls defines new Area partclass called “Modules” with a new “Area” part to use for
creating such Modules in Smart 3D modeling environment.
DesignAreaCodeLists.xls the Codelist definition and values for DesignArea codelist (used for
cm_DesignArea attribute)
1) Open a session file to the active plant. Make sure your filter definition brings in WBSItems into the
workspace. (Use below steps to do this)
a. define a filter with WBSItem selected in the ObjectType – lets name this filter as ‘WBSItems’
b. define a filter of your choice which brings in regular 3D objects & Areas (NamedSpace)
representing modules – lets name this filter as ‘Objects’
c. create a Compound filter with its definition as “Objects OR WBSItems” and name it the same.
d. use the compound filter to define your workspace.
8) RuleChecker service creates log file (.csv) in the configured LogsPath folder. This log file contains
detailed information from the Service & Rule(s). Open property page for any of the processed object
and you will see that “Design Area”, “Module No” attribute information has been transferred from
Module to Business Object.
9) Refreshing workspace after the service has run for some time will show up the corresponding
WBSItems in WBS tab. Note that Rules have created new WBS items under Design Area WBS “20” &
“30”.
10) Moving the items into a new volume, or moving the volume itself etc., will trigger the appropriate
rule which automatically updates the properties.
1) Close S3D session if it is open and stop RuleChecker service using Configuration utility.
3) After bulkload process is complete, invoke the “Synchronize Model with Catalog” command in
project Management to just regenerate views in Model DB *uncheck “Synchronize Model with
Catalog” option+ – Then go on to Regenerate Reports DB.
4) Open S3D session and switch to “Space Management” Task. Select Modules of your choice one
at a time and set values for “SubSubArea” attribute. Save session and Close S3D.
In TransferVolumeAttributes Method
PropertyValueString oVolumeSubArea =
PropertyValueString)oBOArea.GetPropertyValue(sModuleInterface, sSubArea);
// PropertyValueString oVolumeSubSubArea =
(PropertyValueString)oBOArea.GetPropertyValue(sModuleInterface, sSubSubArea);
PropertyValueString oVolumeModuleNo =
(PropertyValueString)oBOArea.GetPropertyValue(sModuleInterface,sModuleNo);
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In TransferVolumeAttributes Method
In RemoveVolumeAttributesMethod
7) Save solution and Build using “BuildRebuild Solution”. This will update “CMAssignModule.dll”
for the active configuration – Updated DLL will be in “bin\Release” or bin\Debug accordingly.
8) Copy (overwrite) the new DLL to the folder specified in your configuration (RulesPath).
9) Since we added a new attribute and modified the rule, we need to ensure that processing must
restarted from beginning. Use the Configuration utility to do the same. This will force
RuleCheker service to start processing the Plant from beginning.
10) Wait till service processes entire plant. Open S3D session and refresh workspace. Observe that
“SubSubArea” attribute is also transferred from Modules to Business Objects inside Module.
Splitting Piping at Module boundary
When Rule processes straight pipe crossing several Module boundaries, it assigns pipe to Module based
on center of pipe. Such pipes need to be
split at Module boundary. This can be
achieved by using “Split Route” custom
command.