This article will give you information about how to use the hsbexporter.
Select the option hsbCAM\Element export\CNC Exporter.
OR select the CNC exporter in the Ribbon
This will open the CNC Exporter dialog box.
Elements to export
At the Elements to Export section select “Select all Entities in drawing” option to export.
|Select all entities in drawing||This will run the exporter with all the entities in the drawing.|
|Select floor levels in floor level list||This will run the exporter with the floor levels that you have picked in the floor level list.|
|Select floors levels by elements in drawing||This will run the exporter using the floor levels when you pick one of the elements in a certain floor level.|
|Select current floor level||This will run the exporter using the floor level that you are in.|
|Select elements in drawing||This will run the exporter with all elements that you select.|
Select a Cnc Group (if you haven’t made a group yet see the following paragraphs below to create an Export\group in the hsbExporter).
Select the Start generator in config mode (config mode means that the Export manager will open, in the Export Manager you can set all your settings and create exports/ groups. You don’t need to select the config mode (Export manager) all the time). Once you have set up your exports and groups you can run groups directly when the Start generator in config mode is deselected.
How to create an Export
After running the CNC exporter command, the ExportManager dialog will open. Here you can create new exports.
After selecting the Create Export button the Export dialog box will appear.
Name – Enter a name for the export.
Description – Enter a description for the export.
Export (pull down menu) – Select the type of export you wish to use.
Last Used (pull down menu) – Catalog Entry for the export settings.
Output location – Select the destination folder by selecting the triple dots (default it will be stored in the folder where the drawing is located)
Clear output location – This clears the whole folder when the export is run.
How to create an Group
Once you have created an export we now need to Create a group. In this example we have created the test export Wup as shown below.
Next step is to right click the word Groups on the left hand side of this screen and select Create Group.
Give this Group a name, we have called it WUP in this example.
Now we need to add the Wup export settings to this group. Add your Wup export settings to the WUP Group by right clicking the Name (Wup) and select Add to – WUP (this is the group name you have just created).
Export using an Export Group
Now if you run the command again (hsbCAM\Element export\Cnc Exporter) you will be able to select the Cnc group you’ve just made as shown in the example below.
After selecting OK the ExportManager will open, select the Group name you want to export (in this case it is called WUP) and Run the export.
When you have created multiple exports and or groups you can export these to be loaded onto a new computer. When you want to export ALL you export Settings, this can be done by selecting the Tools pulldown. You could export your Settings and then send them to somebody who only has the Standalone cnc Exporter and import these Settings.
Using the Import Settings button you can import settings from someone else.
There are some default settings available. These are Excel, PDF and IFC default export settings. These settings can be found in C:\Program Files\hsbcad\hsbdesign..\Content\Dutch\hsbCompany\Export\Content settings
After setting up your export, you can use the exporter for the entire model how it is designed. In addition to that you can add extensions to your exports.
Extensions are there to make your exports even more custom. With extensions you can add additional checks, filters or conversions. Adding extensions can be done as shown below.
Adding a check extension to your export gives you the ability to have things checked before the export is run. Validations are used for this.
How to set up validations is described in the article: Validation Manager & Inspector
Once you have set up your validations, you can run a validation group when exporting. To do this you will need to add the Validation extension.
After adding the validation extension you can set different options.
Cancel Export – When the export is run and the validation you have set up is coming up with an error (something in your model is not matching your validation). This setting will decide if your export still continuous. Setting it to True will run your export as normal but will give you a list of export fails. Setting it to False will stop the export once a validation fails.
Enabled – Set this to True to have the extension active. Set this to False to have the extension inactive.
Validation Group – Choose your predefined validation group.
Adding a filter extension to your export gives you the ability to filter entities for this export. The filter we are going to use in this example is the Beam Filter as shown below.
Once the beamfilter is added you can set up the filter for this export.
Adding a conversion extension to your export gives you the ability to convert entities for an export. The conversion we are going to add in this example is the Convert Beams into Sheets as shown below.
Once the conversion extension is added you can set it up for this export.
Save your Settings
Once you have set everything in the Setting/Custom tab you can save these settings and recall them later on in the Export dialog box.
Step 1. Select the New button and the catalogue Entry dialog box will open, enter a specific name to your settings.
Step 2. Select OK and the Entry will appear in the Export Settings dialog box.
Step 3. You can create several exports if you want.
Data formatting in the Exporter
In the exporter you can use variables, these can be properties of Objects, Elements or Project settings.
The format string is made up of constant text and variables. The variables take the form: @(<VariableName>)
The variable names directly relate to the property names so any string, number, enumeration or Boolean property can be specified. If the variable name cannot be found it will not be resolved and will stay inside the format string unchanged.
E.g. for a Beam using a format string of “@(Length) x @(Width) x (@(Height)” would use the Length, Width and Height properties of the beam.
There are also a set of variable names that provide special functionality.
Parent variable names
The following variables represent data for parent objects that can be accessed from their children.
|ElementNumber||The number of the element.|
|ElementType||The type or code of the element.|
|ElementLength||The length of the element calculated using the bounds of the GenBeams in the element rounded to zero decimal places.|
|ElementHeight||The height (dimension in the elements Y direction) of the element calculated using the bounds of the GenBeams in the element rounded to zero decimal places.|
|ProjectNumber||The number of the project as defined in the project setttings and ProjectInfo class.|
|ProjectName||The name of the project as defined in the project setttings and ProjectInfo class.|
|ProjectDir||The project directory.|
|ProjectComment||The comment as defined in the project settings.|
|ProjectCity||The city as defined in the project settings.|
|ProjectDwgName||The name of thw dwg file.|
|ProjectRevision||The revision as defined in the project settings.|
|ProjectStreet||The street as defined in the project settings.|
|ProjectUser||The user as defined in the project settings.|
|ProjectCompany||The company path in the project settings.|
|ProjectWallDetailPath||The wall detail path in the project settings.|
|ProjectFloorDetailPath||The floor detail path in the project settings.|
|ProjectDirName||The name of the folder where the source drawing file is located.|
|GroupName||The name of group. When used on child Entity it will be the name of the first deliverable group the Entity belongs to.|
|GroupFileName||This is the same as GroupName except the name of the groups is changed so that the ‘\’ delimiters are replaced with ‘_’ characters so the output can be used as part of a file name.|
|GroupLevel1||The first part of the hsbCAD group path.|
|GroupLevel2||The second part of the hsbCAD group path.|
|GroupLevel3||The third part of the hsbCAD group path.|
|GroupEquivalentStory GroupStory||Group Equivalent Story.|
|GroupFloorHeight GroupHeight||Group Floor Height.|
|Project||Exposes the Project Information including MapX for an Entity. e.g. Project.DwgName|
|Element||Exposes the Element an Entity belongs to. e.g. Element.Code|
|Group||Exposes the Group an Entity belongs to. e.g. Group.Name|
|Date||Returns the current date in the regional short date format.|
|Time||Returns the current time in the regional short time format.|
|DateTime||Returns the current date and time in the regional short date and time format without seconds.|
Multiwall Variable Name
A special variable name exists to list the single walls of a multiwall.
@(SingleWalls) or just @(SW) will list the names of the single walls.
@(ReverseSingleWalls) or just @(RSW) will list the names of the single walls in reverse order. This can be necessary where the orientation of the multiwall has changed.
An optional paramter can also be used to specify the delimiter.
@(SingleWalls:<delimiter>) where the can be one or more characters.
e.g. For a multiwall containing the walls FF1, FF2, FF3 and FF4 the following formats could be used:
@(SW) = FF1-FF2-FF3-FF4
@(SW:_) = FF1_FF2_FF3_FF4
@(SW:, ) = FF1, FF2, FF3, FF4
There are a number of functions that can be used to format string values.
E.g. To take the last two characters from the element number: @(ElementNumber:R2)
Possible functions are:
|A||Aliases: Aliases allow values to be replaced with another value, an alias.|
|R||Right: Takes the specified number of characters from the right of the string.|
|L||Left: Takes the specified number of characters from the left of the string.|
|PL||Pad left: Pads the string to the left the specified number of characters with an optional parameter to specify the character to pad with.|
|PR||Pad Right: Pads the string to the right the specified number of characters with an optional parameter to specify the character to pad with.|
|RL||Round Local: Rounds a number using the local regional settings.|
|RR||Regex Replace: ….|
|S||SubString: Given one number will take all characters starting at the position (zero based).Given two numbers will start at the first number and take the second number of characters.|
|T||Tokeniser: Returns the member of a delimited list using the specified index (zero based). A delimiter can be specified as an optional parameter with the default delimiter being the semicolon character.|
|U||Upper: Converts the string to upper case.|
|#||Rounds a number. Specify the number of decimals to round to. Trailing zero’s are removed.|
Given a group name of “House\Floor\Walls”
@(GroupName:L5) = “House”
@(GroupName:R5) = “Walls”
@(GroupName:S7) = “Floor\Walls”
@(GroupName:S7;5) = “Floor”
It is also possible to chain them together.
@(GroupName:S7:R5:U) = “WALLS”
@(GroupLevel3:PL7) = ” Walls”
@(GroupLevel3:PR7;x) = “Wallsxxx”
@(GroupName:T1;\) = “Floor”
Or given a beam with a solid width of 29.499765 mm
@(SolidWidth:0) = “29”
@(SolidWidth:1) = “29.5”
@(SolidWidth:2) = “29.5”
Aliases allow values to be replaced with another value, an alias. The aliases are stored in files inside the company folder.
There is a global file called Aliases.dat and custom files can be added with the convention of <Name>Aliases.dat. For example: Mat2packAliases.dat.
An alias is made up of:
- Expression – what is being mapped to. This can contain the wild card character ‘*’ to represent zero or more characters.
- Text – the value being returned if the expression is matched.
Expression = “*ground*”
Text = “GF”
This would match the following “01-Wall Frame\00-Ground Floor” and “GF” would be the result.
This is implemented inside the formatting as an Alias string function.
e.g. Assuming the global aliases are being used:
@(GroupName:A) would look for an alias of the group name.
To use a custom alias file a parameter is specified.
For example: using the custom “Test” alias (file name is TestAliases.dat)
PropertySets and MapX
Propertysets are groups of Properties that are added to objects.
MapX is a map (like a set of properties) that is available in the exporter.
MapX and PropretySet data can be accessed by simply specifying the path to data in the underlying map starting with the MapX key or PropertySet name.
The MapX data will take precendence over the PropertySet data.
e.g. An entitty has MapX data with a key of “Hsb_ElementInfo” which contains a value “Weight”.
This could be accessed using the format:
The path for MapX data can go as deep as necessary.