Gui Command
① GuiCommand
是FreeCAD在用户主要交互点中最重要的功能之一。每次用户选择菜单项或按下工具栏按钮
时,它都会激活GuiCommand
。GuiCommand的一些属性是:
- 定义名称
- 包含一个图标
- 定义撤消/重做的范围
- 有一个帮助页面
- 打开和控制对话框
- 宏录制以及其他
② GuiCommand以标准方式命名:ModuleName_CommandName
例如,“ Base_Open ”
这是Base系统中的Open Gui命令
。某个模块中的GuiCommand以前面的模块名称命名
,例如“ Part_Cylinder ”
。
如Draft模块中的modification commands
# modification commands(部分)
FreeCADGui.addCommand('Draft_Move',Move())
FreeCADGui.addCommand('Draft_Rotate',Rotate())
FreeCADGui.addCommand('Draft_Offset',Offset())
FreeCADGui.addCommand('Draft_Upgrade',Upgrade())
FreeCADGui.addCommand('Draft_Downgrade',Downgrade())
FreeCADGui.addCommand('Draft_Trimex',Trimex())
FreeCADGui.addCommand('Draft_Scale',Scale())
FreeCADGui.addCommand('Draft_Drawing',Drawing())
FreeCADGui.addCommand('Draft_Edit',Edit())
FreeCADGui.addCommand('Draft_AddPoint',AddPoint())
FreeCADGui.addCommand('Draft_DelPoint',DelPoint())
③ 每个GuiCommand都必须有一个帮助页面
,帮助页面托管在FreeCAD文档维基上。该页面与GuiCommand同名,例如Draft ShapeString
。帮助文档举例:Draft ShapeString 和 Draft Line
④ 每个GuiCommand都必须有一个图标。我们使用Tango图标集及其指南。所有的图标都应该用矢量图应用程序以SVG的格式被创建,这样可以更容易的实现更改并在同一应用程序空间中派生其他图标。矢量图应用程序:Inkscape is a professional vector graphics editor for Windows, Mac OS X and Linux. It's free and open source
。