1. Open a drawing with fileUrl without UI
https://app.kudo.graebert.com/editor?apitoken=4b5b64d4-85a5-4cb4-b5b7-89a2161347a3
“Default Files” in customization.zip package contains:
Workspace → Viewer.xml
Support → setvars.lsp
Support → start.lsp
Customized viewer workspace to hide all UI elements (Default Files/Workspace/Viewer.xml):
<?xml version="1.0" encoding="UTF-8"?> <workspace> <name workspace_name="Viewer" /> <description description="" /> <status_bar_visible status_bar_visible="0" /> <groups/> <dockable_windows> <window object_name="CommandWindow" visible="0" name="Command Prompt" /> <window object_name="PropertyWindow" visible="0" name="Properties Window" /> <window object_name="XRefManager" visible="0" name="References" /> <window object_name="LayerPanel" visible="0" name="Layer Panel" /> </dockable_windows> </workspace>
Created a simple LISP function that sets environment variable to turn of ucs icon (Default Files/Support/setvars.lsp):
(defun initEnv() (setvar "UCSICON" 0) )
Adjusted LISP file that is loaded on startup to load that file and execute the function (Default Files/Support/start.lsp):
... (load "setvars.lsp") (initEnv)
2. Open file for editing from S3 bucket with customized style
https://app.kudo.graebert.com/editor?apitoken=fc18e508-977d-41d6-89c8-3b21e584cf34
Added customized style.css in customization.zip that overrides the background color of some style classes.
E.g. for toolbar background:
.xenon-toolbarContainer .container { background-color: #262c41; }
3. Open file for editing from S3 bucket with customized UI
https://app.kudo.graebert.com/editor?apitoken=259c8dcb-11ab-40ff-8c15-487b059b5da2
“Default Files” in customization.zip package contains:
UI → english → application.xml
Workspace → Classic Default.xml
Adjusted Tools menu (Default Files/UI/english/application.xml):
<menu definition_ref="" type="1" UID="ID_MnTools" name="Tools"> <menu definition_ref="ID_DIST" UID="PMI_141" name="Get Distance"/> <menu definition_ref="ID_AREA" UID="PMI_140" name="Get Area"/> <menu definition_ref="ID_GETXY" UID="PMI_142" name="Get Coordinate"/> <menu definition_ref="ID_GETPROPERTIES" name="Get Properties" UID="PMI_143"/> </menu>
Adjusted editor toolbar (Default Files/UI/english/application.xml):
<toolbar on_by_default="true" UID="ID_NavBarDefault"> <toolbar definition_ref="ID_DISPLAYMENU" UID="NTB_DISPLAYMENU" name="Menu"/> <toolbar definition_ref="ID_Inquiry" UID="NBT_TbInquiry" name="Inquiry"> <toolbar definition_ref="ID_DIST" UID="TTB_106" name="Distance"/> <toolbar definition_ref="ID_AREA" UID="TTB_107" name="Area"/> <toolbar definition_ref="ID_GETXY" UID="TTB_109" name="Coordinates"/> </toolbar> </toolbar>
Customized editing workspace to hide all UI elements except status bar and show editing toolbar with tools menu (Default Files/Workspace/Classic Default.xml):
<workspace> <name workspace_name="Classic Default" /> <description description="" /> <status_bar_visible status_bar_visible="1" /> <groups/> <root_menu_items> <menu group_id="Id_XenonMainGroup" uid="ID_MnTools" /> </root_menu_items> <navigation_toolbars> <toolbar group_id="Id_XenonMainGroup" uid="ID_NavBarDefault" /> </navigation_toolbars> <dockable_windows> <window object_name="CommandWindow" visible="0" name="Command Prompt" /> <window object_name="PropertyWindow" visible="0" name="Properties Window" /> <window object_name="XRefManager" visible="0" name="References" /> <window object_name="LayerPanel" visible="0" name="Layer Panel" /> </dockable_windows> </workspace>
Added customized style.css in customization.zip that hides all button groups and version label in statusbar based on their style class except the first group with sheet controls:
.xenon-statusbar .XeButtonGroup:not(:first-child), .xenon-statusbar-version { display: none; }
4. Open file for editing from S3 bucket with custom feature
https://app.kudo.graebert.com/editor?apitoken=50ccb3bb-7140-4a61-be7e-dca8c5db7487
Added custom tx module loaded on startup.
“Default Files” in customization.zip package contains:
Support →
|
UI → english → application.xml
tx modules are built from Kudo Server Sample. Each sample module have different functions which will help to understand the custom module workflow
Module | Feature Description |
---|---|
InsertImageCommand | Insert an image into a drawing. |
DrawingSummary | To parse drawing content and create a summary of e.g. all layers in a drawing and their basic properties. Write it to a csv file. |
CommonUIDialog | The sample lists all block references of the current layout that have attributes in a dropdown. Select a reference from the dropdown to show the attributes of a reference. Press “Zoom to block” to zoom to the reference currently selected. |
Added the module to startup.rx to have it loaded when drawing is opened:
InsertImageCommand.tx DrawingSummary.tx CommonUIDialog.tx
Adjusted editor toolbar by adding a new button with the custom CommonUIDialog command at the end (Default Files/UI/english/application.xml):
<toolbar on_by_default="true" UID="ID_NavBarDefault"> ... <toolbar definition_ref="ID_COMMONUIDIALOG" UID="NTB_COMMONUIDIALOG" name="CommonUIDialog"/> <toolbar definition_ref="" name=""/> </toolbar>
Added custom CommonUIDialog command definition to definitions section (Default Files/UI/english/application.xml):
5. Open file for editing from S3 bucket with tile configurator feature
https://app.kudo.graebert.com/editor?apitoken=d72201b3-bed6-4bb1-8fc0-0e08bb966665
Added TileConfigurator.tx module loaded on startup.
“Default Files” in customization.zip package contains:
Support →
|
UI → english → application.xml
Adjusted Tools menu (Default Files/UI/english/application.xml):
<menu definition_ref="" type="2" UID="PM_0006" name="Default Menu"> <menu definition_ref="ID_FLOOR_PLAN" UID="PMI_387" name="Floor Plan Dialog"/> <menu definition_ref="ID_PATTERN_UI" UID="PMI_388" name="Pattern UI Dialog"/> <menu definition_ref="ID_VANITIES" UID="PMI_389" name="Vanities Dialog"/> <menu definition_ref="ID_TILE_CALCULATOR" UID="PMI_390" name="Tile Calculator Dialog"/> </menu>
Adjusted editor toolbar (Default Files/UI/english/application.xml):
<toolbar on_by_default="true" UID="ID_NavBarDefault"> <toolbar definition_ref="ID_FLOOR_PLAN" UID="NTB_FLOOR_PLAN" name="Floor Plan Dialog"/> <toolbar definition_ref="ID_PATTERN_UI" UID="NTB_PATTERN_UI" name="Pattern UI Dialog"/> <toolbar definition_ref="ID_VANITIES" UID="NTB_VANITIES" name="Vanities Dialog"/> <toolbar definition_ref="ID_TILE_CALCULATOR" UID="NTB_TILE_CALCULATOR" name="Tile Calculator Dialog"/> </toolbar>
TileConfigurator module commands | Description |
---|---|
VANITIESUI | This command inserts a vanity over pattern. |
PATTERNUI | This command draws tiles pattern. |
FLOORLAYOUTWIDGET | This command draws a rectangle or a polygon for floor. |
TILECALCULATE | This command calculates tiles for floor. |
Added the module to startup.rx to have it loaded when drawing is opened:
TileConfigurator.tx
6. Block Collection feature with API call feature
BlockCollection will display the dwg’s in preview widget which can be attached to current drawing. It can be attached by simply Drag&Drop on insert button.
Drawings are categorized in various folders, upon changing the category, all the .dwg’s in that folder will be loaded. Files will be available on cloud storage, its URL can be changed in Kudo server.
There is additional file bundle.min.js in BlockCollection project folder. Its a JavaScript file containing functionalities for block operations, it will be loaded at web browser.
It needs to put in Kudo server path for example:
C:\Program Files\Graebert GmbH\ARES Kudo Server\Kudo\Resources\docroot\www-editor\<id>\js
Similarly in case of Linux path will be something like :
/opt/graebert-gmbh/Xenon-Editor/Resources/docroot/35497.f1c3d48.7265ad4.79a0955.bba2a0d.21e35bf/js
Added BlockCollection.tx module loaded on startup.
“Default Files” in customization.zip package contains:
Support →
|
Block collections command | Description |
---|---|
BLOCKCOLLECTION | This command will display various drawings in storage, which can be attached as block in current drawing Command name : "_BLOCKCOLLECTION" |