# Tekla二次开发

# 基础篇

### <span class="md-plain md-expand">外部调用内部插件</span>

```
  Component component = new Component();<br></br>  component.Name = teklaPLuginList.Name;<br></br>  component.Number = teklaPLuginList.Number;<br></br>  ComponentInput componentInput = new ComponentInput();<br></br>  switch (teklaPLuginList.Name)<br></br>  {<br></br>      case "DKQGGQCoQ螺栓连接Q螺栓公共节点":<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          componentInput.AddOneInputPosition(new Picker().PickPoint());<br></br>          componentInput.AddOneInputPosition(new Picker().PickPoint());<br></br>          break;<br></br>      case "DKQGGQDoQ边柱与梁Q端板竖放一":<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          break;<br></br>      case "DKQGGQDoQ边柱与梁Q端板竖放二":<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          break;<br></br>      case "DKQGGQDoQ边柱与梁Q端板平方":<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          break;<br></br>      default:<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          componentInput.AddInputObject(new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART));<br></br>          break;<br></br> ​<br></br>  }<br></br>  component.SetComponentInput(componentInput);<br></br>  component.Insert();<br></br>  _model.CommitChanges();
```

### <span class="md-plain">获取Tekla文件夹目录</span>

```
   if (_model.GetConnectionStatus())<br></br>   {<br></br>       marcofile = "";<br></br>       TeklaBMP = "";<br></br>       Teklaexe = "";<br></br>       string xsbin = "";<br></br>       TeklaStructuresSettings.GetAdvancedOption("XSBIN", ref xsbin);<br></br>       DirectoryInfo path = new DirectoryInfo(xsbin);<br></br>       string tt = path.Parent.Parent.FullName;//上 2层目录<br></br>       TeklaBMP = tt + "\\Bitmaps\\";<br></br>       Teklaexe = tt + "\\nt\\bin";<br></br>       tt += "\\nt\\bin\\plugins\\Tekla\\Model\\ModelTemplates\\KDplugin\\";<br></br>       marcofile = tt;<br></br>       List<string> vs = new List<string>();<br></br>       vs.Add(TeklaBMP);<br></br>       vs.Add(tt);<br></br>       vs.Add(Teklaexe);<br></br>       RememberKey.remeberKeyMethod(vs);<br></br>       return true;<br></br>   }
```

### <span class="md-plain">获取插件列表</span>

```
   CatalogHandler catalogHandler = new CatalogHandler();<br></br>   //组件管理器                                                                    <br></br>   //ComponentItemEnumerator componentItemEnumerator1 = catalogHandler.GetComponentItems();//获取管理器下的组件项<br></br> ​<br></br>   if (catalogHandler.GetConnectionStatus())//有没有链接<br></br>   {<br></br>       ComponentItemEnumerator componentItemEnumerator = catalogHandler.GetComponentItems();<br></br> ​<br></br>       int t = catalogHandler.GetComponentItems().GetSize();<br></br> ​<br></br>       while (componentItemEnumerator.MoveNext())//遍历当前组件管理器下的每个插件项<br></br>       {<br></br>           string pluginName = componentItemEnumerator.Current.Name;<br></br>           int pluginNumber = componentItemEnumerator.Current.Number;<br></br>           string[] type = pluginName.Split(new string[] { "Q" }, StringSplitOptions.RemoveEmptyEntries);<br></br>           if (type.Length > 0 && type[0] == "DK")<br></br>           {<br></br>               switch (type[1])<br></br>               {<br></br>                   case "GG":<br></br>                       switch (type[2]) //简单的switch(){case :beak;....default :break;}//获取到的组件的类型<br></br>                       {<br></br>                           case "Do":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListDo);<br></br>                               break;<br></br>                           case "Fr":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListFr);<br></br>                               break;<br></br>                           case "Tr":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListTr);<br></br>                               break;<br></br>                           case "Gr":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListGr);<br></br>                               break;<br></br>                           case "Co":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListCo);<br></br>                               break;<br></br>                           default:<br></br>                               break;<br></br>                       }<br></br>                       break;<br></br>                   case "GJ":<br></br>                        //简单的switch(){case :beak;....default :break;}<br></br>                        //获取到的组件的类型<br></br>                       switch (type[2])<br></br>                       {<br></br>                           case "Pu":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListPu);<br></br>                               break;<br></br>                           case "Pi":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListPi);<br></br>                               break;<br></br>                           case "St":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListSt);<br></br>                               break;<br></br>                           case "Wa":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListWa);<br></br>                               break;<br></br>                           case "Pl":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListPl);<br></br>                               break;<br></br>                           case "Ba":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListBa);<br></br>                               break;<br></br>                           case "Go":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListGo);<br></br>                               break;<br></br>                           default:<br></br>                               break;<br></br>                       }<br></br>                       break;<br></br>                   case "TZ":<br></br>                       switch (type[2]) //简单的switch(){case :beak;....default :break;}//获取到的组件的类型<br></br>                       {<br></br>                           case "Re":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListRe);<br></br>                               break;<br></br>                           case "As":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListAs);<br></br>                               break;<br></br>                           case "Pa":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListPa);<br></br>                               break;<br></br>                           case "Ga":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListGa);<br></br>                               break;<br></br>                           case "To":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListTo);<br></br>                               break;<br></br>                           default:<br></br>                               break;<br></br>                       }<br></br>                       break;<br></br>                   case "BB":<br></br>                       switch (type[2]) //简单的switch(){case :beak;....default :break;}//获取到的组件的类型<br></br>                       {<br></br>                           case "Sl":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListSl);<br></br>                               break;<br></br>                           case "Rb":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListRb);<br></br>                               break;<br></br>                           case "Bo":<br></br>                               addpluin(pluginName, pluginNumber, teklaPLuginListBo);<br></br>                               break;<br></br>                           default:<br></br>                               break;<br></br>                       }<br></br>                       break;<br></br>               }<br></br> ​<br></br>           }<br></br> ​<br></br>       }<br></br> ​<br></br>   }
```

### <span class="md-plain">碰撞检查初始化</span>

```
             ClashCheckOptions clashCheckOptions = new ClashCheckOptions();//碰撞检查初始化：d,t<br></br>             TeklaStructuresSettings.GetOptions(ref clashCheckOptions);//tekla设置或者得到碰撞将车的值<br></br>             MessageBox.Show("d=" + clashCheckOptions.BoltHeadDiameter.ToString()<br></br>                 + "\r\n" + "t=" + clashCheckOptions.NutThickness.ToString(), "Tekla碰撞检查获取");<br></br>             clashCheckOptions.BoltHeadDiameter = 10.0;//d<br></br>             clashCheckOptions.NutThickness = 5.0;//t<br></br>             TeklaStructuresSettings.SetOptions(clashCheckOptions);//设置碰撞检查初始化值的<br></br>             MessageBox.Show("d=" + clashCheckOptions.BoltHeadDiameter.ToString()<br></br>                 + "\r\n" + "t=" + clashCheckOptions.NutThickness.ToString(), "碰撞检查修改");
```

### <span class="md-plain">组件初始化</span>

```
  ComponentOptions componentOptions = new ComponentOptions();//组件<br></br>  TeklaStructuresSettings.GetOptions(ref componentOptions);//获取<br></br>  MessageBox.Show(<br></br>      "板名称" + componentOptions.PlateProfileName + "\r\n" +<br></br>      "折叠板名称" + componentOptions.FoldedPlateProfileName + "\r\n" +<br></br>       "螺栓边距系数" + componentOptions.BoltEdgeDistanceFactor + "\r\n" +<br></br>       "比较距离" + componentOptions.BoltEdgeDistanceReference + "\r\n" +<br></br>        "螺栓标准" + componentOptions.BoltStandard + "\r\n" +<br></br>        "螺栓尺寸" + componentOptions.BoltSize + "\r\n" +<br></br>        "零件材料" + componentOptions.PartMaterial + "\r\n" +<br></br>         "焊接主构件的零件前缀" + componentOptions.PartWeldedToPrimaryPositionPrefix + "\r\n" +<br></br>      "焊接主构件的零件起始编号" + componentOptions.PartWeldedToPrimaryStartNumber + "\r\n" +<br></br>      "焊接次构件的零件前缀" + componentOptions.PartWeldedToSecondaryPositionPrefix + "\r\n" +<br></br>      "焊接次构件的零件起始编号" + componentOptions.PartWeldedToSecondaryStartNumber + "\r\n" +<br></br>      "松散零件前缀" + componentOptions.LoosePartPositionPrefix + "\r\n" +<br></br>      "松散零件其实编号" + componentOptions.LoosePartStartNumber + "\r\n" +<br></br>      "构件松散零件编号前缀" + componentOptions.AssemblyLoosePartPositionPrefix + "\r\n" +<br></br>      "构件松散零件编号" + componentOptions.AssemblyLoosePartStartNumber + "\r\n"<br></br>     , "Tekla组件默认值设置修改");<br></br>  componentOptions.PlateProfileName = "测试呀名";<br></br>  componentOptions.FoldedPlateProfileName = "折叠版名称";<br></br>  componentOptions.BoltEdgeDistanceReference = ComponentOptions.BoltEdgeDistanceReferenceEnum.HOLE_DIAMETER;<br></br>  TeklaStructuresSettings.SetOptions(componentOptions);//修改
```

### <span class="md-plain">模块配置</span>

```
    MessageBox.Show(<br></br>        "分析和设计管理=" + ModuleManager.AnalysisAndDesign.ToString() + "\r\n" +<br></br>        "混凝土=" + ModuleManager.ConcreteDetailing.ToString() + "\r\n" +<br></br>        "负载建模=" + ModuleManager.LoadModeling.ToString() + "\r\n" +<br></br>        "多材质建模=" + ModuleManager.MultimaterialModeling.ToString() + "\r\n" +<br></br>        "钢筋建模=" + ModuleManager.RebarModeling.ToString() + "\r\n" +<br></br>        "钢结构详图=" + ModuleManager.SteelDetailing.ToString() + "\r\n" +<br></br>        "任务管理=" + ModuleManager.TaskManagement.ToString() + "\r\n" +<br></br>        "司晨提醒" + "\r\n" +<br></br>        "当前程序运行的配置=" + ModuleManager.Configuration, "Tekl软件配置信息"<br></br> ​<br></br>        );
```

### <span class="md-plain">Tekla路径文件相关</span>

```
  TeklaStructuresFiles teklaStructuresFiles = new TeklaStructuresFiles();//寻找Tekla相关文件<br></br>  List<string> filesList = new List<string>();<br></br>  int i = 0;<br></br>  string files = "";<br></br>  while (i < teklaStructuresFiles.PropertyFileDirectories.Count)<br></br>  {<br></br>      files += teklaStructuresFiles.PropertyFileDirectories[i] + "\r\n";<br></br>      i++;<br></br>  }//遍历的Tekla相关文件夹<br></br>  MessageBox.Show(files, "查询路径列表");<br></br>  string file = teklaStructuresFiles.GetAttributeFile("rebar_with_couplers.tpl").ToString();<br></br>  //寻找相应文件的文件路径<br></br>  MessageBox.Show(file);<br></br>  bool vs = false;<br></br>  filesList = teklaStructuresFiles.GetMultiDirectoryFileList("rpt", vs);<br></br>  files = "";<br></br>  foreach (string tt in filesList)<br></br>  {<br></br>      files += tt + "\r\n";<br></br>  }<br></br>  MessageBox.Show(files, "查询文件后缀名的列表");<br></br>  filesList.Clear();<br></br>  FileInfo tttt = teklaStructuresFiles.GetAttributeFile(teklaStructuresFiles.PropertyFileDirectories, "rebar_with_couplers.tpl");<br></br>  MessageBox.Show(tttt.ToString(), "查询文件路径");
```

### <span class="md-plain">版本相关</span>

```
   string infoS = "";<br></br>   infoS +=<br></br>   "内部版本=" + TeklaStructuresInfo.GetBuildNumber() + "\r\n" +<br></br>   "环境安装文件夹=" + TeklaStructuresInfo.GetCommonAppDataFolder() + "\r\n" +<br></br>   "Tekla结构版权=" + TeklaStructuresInfo.GetCopyRightText() + "\r\n" +<br></br>   "Tekla结构版本=" + TeklaStructuresInfo.GetCurrentProgramVersion() + "\r\n" +<br></br>   "Tekla结构用户=" + TeklaStructuresInfo.GetCurrentUser() + "\r\n" +<br></br>   "Tekla结构的完整注册表项=" + TeklaStructuresInfo.GetFullTSRegistryKeyText() + "\r\n" +<br></br>   "用户本地appdata文件夹=" + TeklaStructuresInfo.GetLocalAppDataFolder() + "\r\n" +<br></br>    "Tekla结构的修订日期=" + TeklaStructuresInfo.GetRevisionDate();<br></br>   MessageBox.Show(infoS, "Tekla结构版本信息");
```

### <span class="md-plain">浇筑体相关</span>

```
 bool ispourendabled = TeklaStructuresSettings.IsPourEnabled();
 MessageBox.Show(ispourendabled.ToString(), "是否启动浇筑体管理");
 string istoolOR = "";
 istoolOR += "全部工具选项=" + TeklaStructuresSettings.IsToolOptionOn("sel_all") + "\r\n";
 istoolOR += "分析节点链接工具选项=" + TeklaStructuresSettings.IsToolOptionOn("sel_analysisnodelinks") + "\r\n";
 istoolOR += "分析节点工具选项=" + TeklaStructuresSettings.IsToolOptionOn("sel_analysisnodes") + "\r\n";
 istoolOR += "分析部分工具选项=" + TeklaStructuresSettings.IsToolOptionOn("sel_analysisparts") + "\r\n";
 istoolOR += "单根钢筋工具选项=" + TeklaStructuresSettings.IsToolOptionOn("sel_single_rebars") + "\r\n\r\n";

 istoolOR += "施工线工具选项=" + TeklaStructuresSettings.ToolOptionNames.ConstructionLines + "\r\n";
 istoolOR += "自定义对象工具选项=" + TeklaStructuresSettings.ToolOptionNames.CustomObjects + "\r\n";
 istoolOR += "切割工具选项=" + TeklaStructuresSettings.ToolOptionNames.Cuts + "\r\n";
 istoolOR += "直接操作工具选项=" + TeklaStructuresSettings.ToolOptionNames.DirectManipulation + "\r\n";
 istoolOR += "过滤器对话框工具选项=" + TeklaStructuresSettings.ToolOptionNames.DisplaySelectionFilterDialog + "\r\n";
 istoolOR += "距离工具选项=" + TeklaStructuresSettings.ToolOptionNames.Distances + "\r\n";
 istoolOR += "轴网工具选项=" + TeklaStructuresSettings.ToolOptionNames.Grid + "\r\n";
 istoolOR += "轴网线工具选项=" + TeklaStructuresSettings.ToolOptionNames.GridLine + "\r\n";
 istoolOR += "节点工具选项=" + TeklaStructuresSettings.ToolOptionNames.Joints + "\r\n";
 istoolOR += "负载工具选项=" + TeklaStructuresSettings.ToolOptionNames.Loads + "\r\n";
 istoolOR += "节点中对象工具选项=" + TeklaStructuresSettings.ToolOptionNames.ObjectsInJoints + "\r\n";
 istoolOR += "零件工具选项=" + TeklaStructuresSettings.ToolOptionNames.Parts + "\r\n";
 istoolOR += "平面工具选项=" + TeklaStructuresSettings.ToolOptionNames.Planes + "\r\n";
 istoolOR += "点工具选项=" + TeklaStructuresSettings.ToolOptionNames.Points + "\r\n";
 istoolOR += "终止工具选项=" + TeklaStructuresSettings.ToolOptionNames.PourBreaks + "\r\n";
 istoolOR += "钢筋组工具选项=" + TeklaStructuresSettings.ToolOptionNames.RebarGroup + "\r\n";
 istoolOR += "钢筋工具选项=" + TeklaStructuresSettings.ToolOptionNames.Rebars + "\r\n";
 istoolOR += "参考模型工具选项=" + TeklaStructuresSettings.ToolOptionNames.ReferenceModels + "\r\n";
 istoolOR += "螺丝钉工具选项=" + TeklaStructuresSettings.ToolOptionNames.Screws + "\r\n";
 istoolOR += "选择构件工具选项=" + TeklaStructuresSettings.ToolOptionNames.SelectAssemblies + "\r\n";
 istoolOR += "选择构建中的对象工具选项=" + TeklaStructuresSettings.ToolOptionNames.SelectObjectsInAssemblies + "\r\n";
 istoolOR += "选择任务工具选项=" + TeklaStructuresSettings.ToolOptionNames.SelectTasks + "\r\n";
 istoolOR += "单根栓钉工具选项=" + TeklaStructuresSettings.ToolOptionNames.SingleScrews + "\r\n";
 istoolOR += "表面工具选项=" + TeklaStructuresSettings.ToolOptionNames.Surfaces + "\r\n";
 istoolOR += "视图工具选项=" + TeklaStructuresSettings.ToolOptionNames.Views + "\r\n";
 istoolOR += "焊缝工具选项=" + TeklaStructuresSettings.ToolOptionNames.Weldings + "\r\n";
 MessageBox.Show(istoolOR, "工具选项");
 //TeklaStructuresSettings.GetAdvancedOption("XS_ENABLE_POUR_MANAGEMENT",ref istoolOR);
 TeklaStructuresSettings.GetAdvancedOption("XS_POUR_BREAK_COLOR", ref istoolOR);
 MessageBox.Show(istoolOR, "高级选项的名称");
```

### <span class="md-plain">轮廓点相关</span>

```
 Beam beam = (Beam)new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART);//获取对象
 Solid solid = beam.GetSolid();
 FaceEnumerator faceEnumerator = solid.GetFaceEnumerator();//获取到的面  集合
 int i = 0;
 while (faceEnumerator.MoveNext()) //每个面
 {
     LoopEnumerator loopEnumerator = faceEnumerator.Current.GetLoopEnumerator();//获取当前面上的边  集合
     while (loopEnumerator.MoveNext())  //每条当前面上的边
     {
         VertexEnumerator vertexEnumerator = loopEnumerator.Current.GetVertexEnumerator();//壳体上的  点的   集合
         while (vertexEnumerator.MoveNext())// 壳体上的点（单独点） 
         {
             dataGridView1.Rows.Add();//添加表中一行
             dataGridView1.Rows[i].Cells[0].Value = string.Format("坐标点{0}", i);
             dataGridView1.Rows[i].Cells[1].Value = vertexEnumerator.Current as Point;//当前面上的当前闭合线上形成壳体上的一点
             i++;
         }
     }

 }
```

### <span class="md-plain">菜单栏修改</span>

```
 string sourceFile = @"albl_up_Developer--main_menu.xml";
 string destinationFile = @"C:\Users\Administrator\AppData\Local\Trimble\Tekla Structures\2020.0\UI\Ribbons\albl_up_Developer--main_menu.xml";
 bool isrewrite = true; // true=覆盖已存在的同名文件,false则反之
 System.IO.File.Copy(sourceFile, destinationFile, isrewrite);
```

```
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Ribbon Format="2016i">
  <QuickAccessToolbar>
    <SimpleButton X="0" Y="0" Width="1" Height="1" Command="Common.Save" Icon="command:ScalableIcon" ShowText="false" ShowIcon="true" />
    <Separator X="1" Y="0" Width="1" Height="1" Orientation="Vertical" Thickness="1" />
    <SimpleButton X="2" Y="0" Width="1" Height="1" Command="Common.Undo" Icon="command:ScalableIcon" ShowText="false" ShowIcon="true" />
    <SimpleButton X="3" Y="0" Width="1" Height="1" Command="Edit.Redo" Icon="command:ScalableIcon" ShowText="false" ShowIcon="true" />
  </QuickAccessToolbar>
  <StaticTab>
    <SplitButton X="0" Y="0" Width="2" Height="2" Command="Common.Interrupt" Icon="command:ScalableIcon" ShowText="false" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Common.Interrupt" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Edit.SelectAll" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Edit.SelectPrevious" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Edit.SelectByIdentifier" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SplitButton X="0" Y="2" Width="2" Height="2" Command="Inquiry.Object" Icon="command:ScalableIcon" ShowText="false" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Inquiry.Object" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Inquiry.PointCoordinates" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Inquiry.CenterOfGravity" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Inquiry.Custom" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Inquiry.WeldedParts" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="10" Width="8" Height="2" Command="Inquiry.PrimaryWeldedPart" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="12" Width="8" Height="2" Command="Inquiry.AssemblyObjects" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="14" Width="8" Height="2" Command="Inquiry.ComponentObjects" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="16" Width="8" Height="2" Command="Inquiry.Phases" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="18" Width="8" Height="2" Command="Inquiry.ModelSize" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
  </StaticTab>
  <Tab Header="translation:ribbon_Steel" IsCollapsed="false" IsUserDefined="false">
    <SimpleButton X="0" Y="0" Width="3" Height="4" Command="Modeling.CreateSteelColumn" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SplitButton X="3" Y="0" Width="3" Height="4" Command="Modeling.CreateSteelBeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Modeling.CreateSteelBeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Modeling.CreateSteelPolybeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Modeling.CreateSteelCurvedBeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Modeling.CreateSteelTwinProfile" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Modeling.CreateSteelOrthogonalBeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="10" Width="8" Height="2" Command="Modeling.CreateSteelSpiralBeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SplitButton X="6" Y="0" Width="3" Height="4" Command="Modeling.CreateSteelContourPlate" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Modeling.CreateSteelContourPlate" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="3" Command="Modeling.CreateCylindricalBentPlate" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="5" Width="8" Height="3" Command="Modeling.CreateConicalBentPlate" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="3" Command="Modeling.CreateStandaloneBend" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="11" Width="8" Height="3" Command="Modeling.CreateLoftedPlate" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SimpleButton X="9" Y="0" Width="3" Height="4" Command="Bolts.CreateBolts" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SplitButton X="12" Y="0" Width="4" Height="4" Command="Weld.CreateBetweenParts" Text="command:ShortText" Icon="resource:Brush.CommandGallery.SteelWeld" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Weld.CreateBetweenParts" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Weld.CreateToPart" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Weld.CreatePolygon" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <Separator X="0" Y="6" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="7" Width="8" Height="3" Command="Weld.PreparePart.WithPolygon" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="10" Width="8" Height="3" Command="Weld.PreparePart.WithAnotherPart" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="13" Width="8" Height="2" Command="Weld.ConvertToPolygonWeld" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SimpleButton X="16" Y="0" Width="8" Height="1" Command="Modeling.CreateSteelItem" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="16" Y="1" Width="8" Height="2" Command="Bolts.EditBoltedParts" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="16" Y="3" Width="8" Height="1" Text="translation:albl_Assembly" Icon="resource:Brush.CommandGallery.SteelAssembly" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="Assembly.MakeIntoAssembly" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="Assembly.AddAsSubAssembly" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="Assembly.SetAsNewMainObjectOfAssembly" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="9" Width="8" Height="3" Command="Assembly.RemoveFromAssembly" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="12" Width="8" Height="3" Command="Assembly.Explode" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="15" Width="8" Height="3" Command="Assembly.ExplodeSubAssembly" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
  </Tab>
  <Tab Header="translation:ribbon_Concrete" IsCollapsed="false" IsUserDefined="false">
    <SimpleButton X="0" Y="0" Width="3" Height="4" Command="Modeling.CreateConcreteColumn" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SplitButton X="3" Y="0" Width="3" Height="4" Command="Modeling.CreateConcreteBeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Modeling.CreateConcreteBeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Modeling.CreateConcretePolybeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Modeling.CreateConcreteSpiralBeam" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SplitButton X="6" Y="0" Width="3" Height="4" Command="Modeling.CreateConcretePanel" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Modeling.CreateConcretePanel" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Modeling.CreateWallLayout" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SplitButton X="9" Y="0" Width="3" Height="4" Command="Modeling.CreateConcreteSlab" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Modeling.CreateConcreteSlab" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Modeling.CreateLoftedSlab" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Modeling.CreateFloorLayout" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SplitButton X="12" Y="0" Width="4" Height="4" Command="Modeling.CreateConcretePadFooting" Text="translation:albl_Footing" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Modeling.CreateConcretePadFooting" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Modeling.CreateConcreteStripFooting" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SimpleButton X="16" Y="0" Width="6" Height="2" Command="Modeling.CreateConcreteItem" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="16" Y="2" Width="6" Height="2" Text="translation:albl_Cast_unit" Icon="resource:Brush.CommandGallery.ConcreteCastUnit" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="CastUnit.Create" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="CastUnit.AddToCastUnit" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="CastUnit.RemoveFromCastUnit" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="CastUnit.Explode" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <Separator X="0" Y="8" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="9" Width="8" Height="2" Command="CastUnit.SetTopInFormFace" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="11" Width="8" Height="2" Command="CastUnit.ShowTopInFormFace" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SplitButton X="22" Y="0" Width="4" Height="4" Command="Reinforcement.CreateReinforcingBarGroup" Text="translation:albl_Rebar" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Reinforcement.CreateReinforcingBarGroup" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Reinforcement.CreateRebar" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Reinforcement.CreateCurvedReinforcingBarGroup" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="Reinforcement.CreateCircularRebarGroup" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="9" Width="8" Height="2" Command="Reinforcement.CreateReinforcementMesh" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="11" Width="8" Height="2" Command="Reinforcement.CreateStrandPattern" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="13" Width="8" Height="3" Command="Reinforcement.CreateReinforcementSplice" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <Separator X="0" Y="16" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="17" Width="8" Height="3" Command="Reinforcements.RebarShapeCatalog" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="20" Width="8" Height="2" Command="Reinforcement.AttachToPart" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="22" Width="8" Height="2" Command="Reinforcement.DetachFromPart" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <Separator X="0" Y="24" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="25" Width="8" Height="2" Command="Reinforcement.GroupRebars" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="27" Width="8" Height="2" Command="Reinforcement.UngroupRebars" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <DropdownButton X="26" Y="0" Width="8" Height="2" Text="translation:ribbon_Rebar_set" Icon="resource:Brush.CommandGallery.ConcreteReinforcementSet" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="Reinforcement.CreateCrossingBeamReinforcementSet" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="Reinforcement.CreateLongitudinalBeamReinforcementSet" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="Reinforcement.CreateSlabOrWallReinforcementSet" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="9" Width="8" Height="3" Command="Reinforcement.CreateRebarsOnSurface" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="12" Width="8" Height="3" Command="Reinforcement.CreateReinforcementSetViaPointInput" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="15" Width="8" Height="3" Command="Catalogs.RebarSetShapeCatalog" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="18" Width="8" Height="3" Command="Reinforcement.RegenerateSelectedReinforcementSets" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <DropdownButton X="26" Y="2" Width="8" Height="2" Text="translation:ribbon_Rebar_display_options" Icon="resource:Brush.CommandGallery.ConcreteRebarsetDisplayOptions" ShowText="true" ShowIcon="true">
      <CheckButton X="0" Y="0" Width="8" Height="2" Command="Reinforcement.RebarSetLegFaceVisibility" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <CheckButton X="0" Y="2" Width="8" Height="2" Command="Reinforcement.RebarSetGuidelineVisibility" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <CheckButton X="0" Y="4" Width="8" Height="2" Command="Reinforcement.RebarSetPropertyStripVisibility" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <CheckButton X="0" Y="6" Width="8" Height="2" Command="Reinforcement.RebarSetSplitterVisibility" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <CheckButton X="0" Y="8" Width="8" Height="2" Command="Reinforcement.RebarSetEndDetailStripVisibility" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <CheckButton X="0" Y="10" Width="8" Height="2" Command="Reinforcement.RebarDimensionVisibility" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <Separator X="0" Y="12" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <CheckButton X="0" Y="13" Width="8" Height="2" Command="Reinforcement.RebarSetGroupColoring" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SimpleButton X="34" Y="0" Width="8" Height="1" Command="Representation.ShowPours" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="34" Y="1" Width="8" Height="1" Text="translation:Commands.Pours.PourBreak.FullText" Icon="resource:Brush.CommandGallery.ConcretePourBreak2Pts" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="Modeling.CreatePourBreak.UsingOnePoint" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="Modeling.CreatePourBreak.UsingTwoPoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="Modeling.CreatePourBreak.UsingMultiplePoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SimpleButton X="34" Y="2" Width="8" Height="2" Command="Pours.CalculatePourUnits" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
  </Tab>
  <Tab Header="translation:ribbon_Edit" IsCollapsed="false" IsUserDefined="false">
    <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Detailing.CutPart.WithPolygon" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="0" Y="2" Width="8" Height="1" Command="Detailing.CutPart.WithLine" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="0" Y="3" Width="8" Height="1" Command="Detailing.CutPart.WithAnotherPart" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="8" Y="0" Width="8" Height="2" Command="Detailing.FitPartEnd" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="8" Y="2" Width="8" Height="1" Command="Edit.Split" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="8" Y="3" Width="8" Height="1" Command="Edit.Combine" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="16" Y="0" Width="8" Height="2" Command="Chamfer.CreateForPartEdge" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="16" Y="2" Width="8" Height="2" Text="translation:albl_Inquire_added_material" Icon="resource:Brush.CommandGallery.EditPartAttachTo" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="Material.AttachToPart" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="Material.DetachFromPart" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="Material.ExplodePart" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <DropdownButton X="24" Y="0" Width="8" Height="2" Text="translation:albl_Components" Icon="resource:Brush.CommandGallery.EditApplicationsAndComponents" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="Components.ApplicationsAndComponents" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="Components.CreateCurrentConnection" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="AutoConnection.Create" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <DropdownButton X="24" Y="2" Width="8" Height="1" Text="translation:ribbon_Surfaces" Icon="resource:Brush.CommandGallery.EditSurface" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="SurfaceTreatment.CreateToPartFace" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="SurfaceTreatment.CreateToSelectedAreaOnPartFace" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="SurfaceTreatment.CreateToAllFacesOfPart" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <Separator X="0" Y="9" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="10" Width="8" Height="3" Command="SurfaceTreatment.CreateSurfaceObject" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <DropdownButton X="24" Y="3" Width="8" Height="1" Text="translation:albl_Compare" Icon="resource:Brush.CommandGallery.EditCompare" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Tools.CompareParts" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Tools.CompareAssemblies" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SplitButton X="32" Y="0" Width="4" Height="4" Command="Measure.Distance" Text="translation:ribbon_Measure" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Measure.Distance" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Measure.HorizontalDistance" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Measure.VerticalDistance" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Measure.Angle" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Measure.Arc" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="10" Width="8" Height="2" Command="Measure.BoltSpacing" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SimpleButton X="36" Y="0" Width="6" Height="2" Command="Edit.Copy" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="36" Y="2" Width="6" Height="2" Text="translation:lbl_Copy_special" Icon="resource:Brush.CommandGallery.EditCopyLinear" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Edit.CopySpecial.Linear" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Edit.CopySpecial.Mirror" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Edit.CopySpecial.Rotate" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Edit.CopySpecial.ToAnotherObject" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="3" Command="Edit.CopySpecial.AllContentToAnotherObject" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="11" Width="8" Height="2" Command="Edit.CopySpecial.ToAnotherPlane" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="13" Width="8" Height="2" Command="Edit.CopySpecial.FromAnotherModel" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SimpleButton X="42" Y="0" Width="6" Height="2" Command="Edit.Move" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="42" Y="2" Width="6" Height="2" Text="translation:lbl_Move_special" Icon="resource:Brush.CommandGallery.EditMoveLinear" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Edit.MoveSpecial.Linear" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Edit.MoveSpecial.Rotate" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Edit.MoveSpecial.Mirror" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Edit.MoveSpecial.ToAnotherPlane" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Edit.MoveSpecial.ToAnotherObject" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SplitButton X="48" Y="0" Width="3" Height="4" Command="Modeling.CreateRectangularGrid" Text="translation:Commands.Modeling.CreateGrid.ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Modeling.CreateRectangularGrid" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Modeling.CreateRadialGrid" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Modeling.AddGridLine" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <DropdownButton X="51" Y="0" Width="3" Height="4" Text="translation:albl_Points" Icon="resource:Brush.CommandGallery.ConstructionPoint" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Points.AddOnLine" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Points.AddOnPlane" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Points.AddParallelToTwoPoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Points.AddAlongExtensionOfTwoPoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Points.AddProjectedPointsOnLine" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="10" Width="8" Height="3" Command="Points.AddUsingCenterAndArcPoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="13" Width="8" Height="3" Command="Points.AddUsingThreeArcPoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="16" Width="8" Height="2" Command="Points.AddTangentToCircle" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="18" Width="8" Height="2" Command="Points.AddAtAnyPosition" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="20" Width="8" Height="2" Command="Points.AddBoltPoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="22" Width="8" Height="2" Command="Points.AddAtIntersectionOfTwoLines" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="24" Width="8" Height="2" Command="Points.AddAtIntersectionOfPlaneAndLine" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="26" Width="8" Height="2" Command="Points.AddAtIntersectionOfPartAndLine" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="28" Width="8" Height="2" Command="Points.AddAtIntersectionOfCircleAndLine" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="30" Width="8" Height="2" Command="Points.AddAtIntersectionOfTwoPartAxes" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <DropdownButton X="54" Y="0" Width="8" Height="2" Text="translation:ribbon_Construction_object" Icon="resource:Brush.CommandGallery.ConstructionObject" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Modeling.AddConstructionLine" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Modeling.AddConstructionPlane" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Modeling.AddConstructionCircle" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Modeling.AddConstructionArc" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Modeling.AddConstructionPolycurve" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="10" Width="8" Height="2" Command="Modeling.AddConstructionObjectWithOffset" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <DropdownButton X="54" Y="2" Width="8" Height="2" Text="translation:ribbon_Parametric_modeling" Icon="resource:Brush.CommandGallery.EditParametricModeling" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Modeling.AddFixedDistance" Text="command:FullText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Modeling.AddReferenceDistance" Text="command:FullText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Modeling.Variables" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
  </Tab>
  <Tab Header="translation:ribbon_View" IsCollapsed="false" IsUserDefined="false">
    <SimpleButton X="0" Y="0" Width="4" Height="4" Command="Views.ViewList" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="4" Y="0" Width="4" Height="4" Text="translation:ribbon_New_view" Icon="resource:Brush.CommandGallery.ViewCreateViewOfModel" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="View.CreateModelBasicView" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="View.CreateModelViewUsingTwoPoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="View.CreateModelViewUsingThreePoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="View.CreateModelViewOnWorkPlane" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="View.CreateModelViewAlongGridLines" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <Separator X="0" Y="10" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="11" Width="8" Height="2" Command="View.CreateModelViewOnPlane" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="13" Width="8" Height="2" Command="View.CreateModelViewOnPartFrontPlane" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="15" Width="8" Height="2" Command="View.CreateModelViewOnPartTopPlane" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="17" Width="8" Height="2" Command="View.CreateModelViewOnPartBackPlane" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="19" Width="8" Height="2" Command="View.CreateModelViewOnPartBottomPlane" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <Separator X="0" Y="21" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="22" Width="8" Height="2" Command="View.CreatePart3DView" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="24" Width="8" Height="2" Command="View.CreatePartDefaultViews" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="26" Width="8" Height="2" Command="View.CreatePartUndeformedView" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <Separator X="0" Y="28" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="29" Width="8" Height="2" Command="View.CreateComponent3DView" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="31" Width="8" Height="2" Command="View.CreateComponentDefaultViews" Text="command:ShortText" ShowText="true" ShowIcon="false" />
    </DropdownButton>
    <SplitButton X="8" Y="0" Width="4" Height="4" Command="View.CreateClipPlane" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="View.CreateClipPlane" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="Macro.CatalogMacroModelingItem?Delete All Clip Planes?GLOBAL" Text="translation:albl_Delete_all_clip_planes" Icon="resource:Brush.CommandGallery.ViewDeleteAllClipPlanes" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <DropdownButton X="12" Y="0" Width="5" Height="4" Text="translation:ribbon_Work_area" Icon="resource:Brush.CommandGallery.ViewWorkarea" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="View.FitToEntireModel.AllViews" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="View.FitToEntireModel" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="View.FitToSelectedParts.AllViews" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="9" Width="8" Height="3" Command="View.FitToSelectedParts" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="12" Width="8" Height="3" Command="View.FitUsingTwoPoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SplitButton X="17" Y="0" Width="4" Height="4" Command="Views.RedrawAll" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="Views.RedrawAll" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="Views.UpdateAll" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SplitButton X="21" Y="0" Width="5" Height="4" Command="View.SetWorkPlane.UsingWorkplaneTool" Text="translation:ribbon_Workplane" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="View.SetWorkPlane.UsingWorkplaneTool" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="3" Command="View.SetWorkPlane.ParallelToXYZ" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="View.SetWorkPlane.UsingOnePoint" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="9" Width="8" Height="3" Command="View.SetWorkPlane.UsingTwoPoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="12" Width="8" Height="3" Command="View.SetWorkPlane.UsingThreePoints" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="15" Width="8" Height="3" Command="View.SetWorkPlane.ParallelToViewPlane" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SplitButton X="26" Y="0" Width="4" Height="4" Command="Representation.Parts.ShadedWireframe" Text="translation:lbl_Rendering" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Representation.Parts.Wireframe" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="3" Command="Representation.Parts.ShadedWireframe" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="5" Width="8" Height="2" Command="Representation.Parts.HiddenLines" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="7" Width="8" Height="2" Command="Representation.Parts.Rendered" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="9" Width="8" Height="2" Command="Representation.Parts.ShowOnlySelected" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <Separator X="0" Y="11" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="12" Width="8" Height="2" Command="Representation.Components.Wireframe" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="14" Width="8" Height="3" Command="Representation.Components.ShadedWireframe" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="17" Width="8" Height="2" Command="Representation.Components.HiddenLines" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="19" Width="8" Height="2" Command="Representation.Components.Rendered" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="21" Width="8" Height="3" Command="Representation.Components.ShowOnlySelected" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="24" Width="8" Height="3" Command="Representation.ShowComponentContent" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SplitButton X="30" Y="0" Width="4" Height="4" Command="Visualizer.VisualizeAll" Text="translation:lbl_Visualize" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Visualizer.VisualizeSelected" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Visualizer.VisualizeAll" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Visualizer.MaterialTypeMapping" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SimpleButton X="34" Y="0" Width="8" Height="2" Command="View.TogglePerspective" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="34" Y="2" Width="8" Height="1" Text="translation:ribbon_Navigate" Icon="resource:Brush.CommandGallery.ViewNavigate" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="View.Rotate" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="View.Rotate.SetViewPoint" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="View.Pan" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <DropdownButton X="34" Y="3" Width="8" Height="1" Text="translation:albl_Zoom" Icon="resource:Brush.CommandGallery.ViewZoom" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="View.ZoomInSpecial" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="View.ZoomOutSpecial" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="View.ZoomOriginal" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="View.ZoomPrevious" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="3" Command="View.ZoomToSelected" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SimpleButton X="42" Y="0" Width="8" Height="1" Command="View.Fly" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="42" Y="1" Width="8" Height="1" Command="View.Properties" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="42" Y="2" Width="8" Height="1" Command="Representation.ObjectRepresentation" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="42" Y="3" Width="8" Height="1" Text="translation:albl_Snapshot" Icon="resource:Brush.CommandGallery.ViewScreenshot" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Tools.Screenshot" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Tools.CreatePreviewImage" Text="command:FullText" ShowText="true" ShowIcon="false" />
    </DropdownButton>
  </Tab>
  <Tab Header="translation:ribbon_Drawings_reports" IsCollapsed="false" IsUserDefined="false">
    <SimpleButton X="0" Y="0" Width="4" Height="4" Command="Drawing.DrawingList" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="4" Y="0" Width="5" Height="4" Text="translation:ribbon_Drawing_properties" Icon="resource:Brush.CommandGallery.DrawRepProperties" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Drawing.SinglePartDrawingProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Drawing.AssemblyDrawingProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Drawing.GeneralArrangementDrawingProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Drawing.CastUnitDrawingProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Drawing.MultiDrawingProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="10" Width="8" Height="2" Command="Drawing.DrawingLayout" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SplitButton X="9" Y="0" Width="4" Height="4" Command="Drawing.CreateDrawing" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Drawing.CreateDrawing" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Drawing.CreateSinglePartDrawing" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Drawing.CreateAssemblyDrawing" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Drawing.CreateCastUnitDrawing" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Drawing.CreateGeneralArrangementDrawing" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <DropdownButton X="13" Y="0" Width="8" Height="2" Text="translation:albl_Perform_numbering" Icon="resource:Brush.CommandGallery.DrawRepNumbering" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="3" Command="Numbering.NumberSeriesOfSelectedObjects" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="3" Width="8" Height="2" Command="Numbering.NumberWelds" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="5" Width="8" Height="2" Command="Numbering.NumberModifiedObjects" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <DropdownButton X="13" Y="2" Width="8" Height="2" Text="translation:j_d_j_Multi_drawing" Icon="resource:Brush.CommandGallery.DrawRepDrawingMulti" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Drawing.CreateEmptyMultiDrawing" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Drawing.CreateMultiDrawing.FromSelectedDrawings" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Drawing.CreateMultiDrawing.FromSelectedDrawings.WithOriginalLayout" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="6" Width="8" Height="3" Command="Drawing.CreateMultiDrawing.FromSinglePartDrawings.FromSelectedPart" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="9" Width="8" Height="3" Command="Drawing.CreateMultiDrawing.FromSinglePartDrawings.FromSelectedPart.WithOriginalLayout" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="12" Width="8" Height="3" Command="Drawing.CreateMultiDrawing.FromAssemblyDrawings.FromSelectedParts" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="15" Width="8" Height="4" Command="Drawing.CreateMultiDrawing.FromAssemblyDrawings.FromSelectedParts.WithOriginalLayout" Text="command:ShortText" ShowText="true" ShowIcon="false" />
    </DropdownButton>
    <DropdownButton X="21" Y="0" Width="8" Height="2" Text="translation:albl_Numbering_settings" Icon="resource:Brush.CommandGallery.DrawRepProperties" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Numbering.Settings" Text="command:FullText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="2" Width="8" Height="3" Command="Numbering.SavePreliminaryNumbers" Text="command:FullText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="5" Width="8" Height="2" Command="Numbering.AssignControlNumbers" Text="command:FullText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="7" Width="8" Height="3" Command="Numbering.ToggleLockControlNumbers" Text="command:FullText" ShowText="true" ShowIcon="false" />
    </DropdownButton>
    <DropdownButton X="21" Y="2" Width="8" Height="2" Text="translation:lbl_Change_Number" Icon="resource:Brush.CommandGallery.DrawRepNumbering" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Numbering.ChangePartNumber" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Numbering.ChangeAssemblyNumber" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Numbering.ChangePartMultiNumber" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Numbering.ChangeAssemblyMultiNumber" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Numbering.ChangeFamilyNumber" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <Separator X="0" Y="10" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="11" Width="8" Height="2" Command="Numbering.ClearPartAndAssemblyNumbers" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="13" Width="8" Height="2" Command="Numbering.ClearPartNumbers" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="15" Width="8" Height="2" Command="Numbering.ClearAssemblyNumbers" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="17" Width="8" Height="2" Command="Numbering.ClearRebarNumbers" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SimpleButton X="29" Y="0" Width="3" Height="4" Command="Reports.CreateReport" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
  </Tab>
  <Tab Header="translation:ribbon_Manage" IsCollapsed="false" IsUserDefined="false">
    <SimpleButton X="0" Y="0" Width="5" Height="4" Command="Tools.Organizer" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="5" Y="0" Width="8" Height="2" Command="Tools.PhaseManager" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="5" Y="2" Width="8" Height="2" Command="Tools.ClashCheckManager" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="13" Y="0" Width="8" Height="2" Command="Tools.ConvertIFCObjects" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="13" Y="2" Width="8" Height="2" Command="Tools.LayoutManager" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="21" Y="0" Width="3" Height="4" Command="LockManager.ObjectLocks" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="24" Y="0" Width="8" Height="1" Command="Tools.TaskManager" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="24" Y="1" Width="8" Height="1" Command="Tools.Sequencer" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="24" Y="2" Width="8" Height="1" Command="Tools.Lotting" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="24" Y="3" Width="8" Height="1" Command="Tools.ProjectStatusVisualization" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
  </Tab>
  <Tab Header="translation:ribbon_Analysis_design" IsCollapsed="false" IsUserDefined="false">
    <SimpleButton X="0" Y="0" Width="6" Height="4" Command="Analysis.AnalysisAndModels" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="6" Y="0" Width="4" Height="4" Command="Loads.LoadGroups" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SplitButton X="10" Y="0" Width="4" Height="4" Command="Loads.CreateLineLoad" Text="translation:albl_Load_analysis" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Loads.CreateLineLoad" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Loads.CreatePointLoad" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Loads.CreateAreaLoad" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Loads.CreateUniformLoad" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Loads.CreateWindLoad" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="10" Width="8" Height="2" Command="Loads.CreateTemperatureLoad" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SimpleButton X="14" Y="0" Width="4" Height="4" Command="Analysis.CreateNode" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="18" Y="0" Width="8" Height="2" Command="Analysis.CreateRigidLink" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="18" Y="2" Width="8" Height="2" Command="Analysis.MergeSelectedNodes" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <DropdownButton X="26" Y="0" Width="8" Height="2" Text="translation:ribbon_Part_analysis_properties" Icon="resource:Brush.CommandGallery.ADAnalyzePartProperties" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="1" Command="Analysis.SteelBeamProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="1" Width="8" Height="1" Command="Analysis.SteelOrthogonalBeamProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="2" Width="8" Height="1" Command="Analysis.SteelColumnProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="3" Width="8" Height="1" Command="Analysis.SteelTwinProfileProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="4" Width="8" Height="1" Command="Analysis.SteelContourPlateProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <Separator X="0" Y="5" Width="8" Height="1" Orientation="Horizontal" Thickness="1" />
      <SimpleButton X="0" Y="6" Width="8" Height="1" Command="Analysis.ConcretePadFootingProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="7" Width="8" Height="1" Command="Analysis.ConcreteStripFootingProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="8" Width="8" Height="1" Command="Analysis.ConcreteColumnProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="9" Width="8" Height="1" Command="Analysis.ConcreteBeamProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="10" Width="8" Height="1" Command="Analysis.ConcreteSlabProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
      <SimpleButton X="0" Y="11" Width="8" Height="1" Command="Analysis.ConcretePanelProperties" Text="command:ShortText" ShowText="true" ShowIcon="false" />
    </DropdownButton>
    <DropdownButton X="26" Y="2" Width="8" Height="2" Text="translation:ribbon_Load_properties" Icon="resource:Brush.CommandGallery.ADLoadProperties" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="Loads.LineLoadProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="Loads.PointLoadProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="Loads.AreaLoadProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="6" Width="8" Height="2" Command="Loads.UniformLoadProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="8" Width="8" Height="2" Command="Loads.WindLoadProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="10" Width="8" Height="2" Command="Loads.TemperatureLoadProperties" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </DropdownButton>
    <SimpleButton X="34" Y="0" Width="8" Height="2" Command="Analysis.ResetEditingOfSelectedParts" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="34" Y="2" Width="8" Height="2" Command="Analysis.PartProperties" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <CheckButton X="42" Y="0" Width="8" Height="1" Command="Analysis.ToggleShowNodeNumbers" Text="command:ShortText" ShowText="true" ShowIcon="false" />
    <CheckButton X="42" Y="1" Width="8" Height="1" Command="Analysis.ToggleShowMemberNumbers" Text="command:ShortText" ShowText="true" ShowIcon="false" />
  </Tab>
  <Tab Header="translation:Commands.Export.TrimbleConnector.ShortText" IsCollapsed="false" IsUserDefined="false">
    <SplitButton X="0" Y="0" Width="4" Height="4" Command="TrimbleConnect.Web" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true">
      <SimpleButton X="0" Y="0" Width="8" Height="2" Command="TrimbleConnect.ProjectData" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="2" Width="8" Height="2" Command="TrimbleConnect.ProjectModel" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
      <SimpleButton X="0" Y="4" Width="8" Height="2" Command="TrimbleConnect.ProjectTeam" Text="command:FullText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    </SplitButton>
    <SimpleButton X="4" Y="0" Width="4" Height="4" Command="TrimbleConnect.ProjectPublish" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="8" Y="0" Width="4" Height="4" Command="TrimbleConnect.ConnectorModels" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="12" Y="0" Width="4" Height="4" Command="TrimbleConnect.ConnectorTodos" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="16" Y="0" Width="4" Height="4" Command="TrimbleConnect.Desktop" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="20" Y="0" Width="2" Height="2" Command="TrimbleConnect.AdjustTsView" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="20" Y="2" Width="2" Height="2" Command="TrimbleConnect.SelectTsObjects" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="22" Y="0" Width="2" Height="2" Command="TrimbleConnect.AdjustTcdView" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
    <SimpleButton X="22" Y="2" Width="2" Height="2" Command="TrimbleConnect.SelectTcdObjects" Text="command:ShortText" Icon="command:ScalableIcon" ShowText="true" ShowIcon="true" />
  </Tab>
  <Tab Header="晨缘迅宫" IsCollapsed="false" IsUserDefined="false">
    <SimpleButton X="0" Y="0" Width="3" Height="4" Command="Plugin.CatalogPluginComponentItem?SC门刚边柱梁竖连接节点" Text="门钢边柱" Icon="D:\北宫集团\BIM系列插件\TSEP工具\钢结构工具组\图标\favicon.ico" ShowText="true" ShowIcon="true" />
    <CheckButton X="3" Y="0" Width="3" Height="4" Command="Plugin.CatalogPluginComponentItem?SC船舶梯子节点32节课程" Text="船舶梯子" Icon="D:\北宫集团\BIM系列插件\TSEP工具\钢结构工具组\图标\favicon (3).ico" ShowText="true" ShowIcon="true" />
    <CheckButton X="6" Y="0" Width="3" Height="4" Command="Plugin.CatalogPluginComponentItem?SC螺丝套筒节点29节" Text="螺丝套筒" Icon="D:\北宫集团\BIM系列插件\TSEP工具\钢结构工具组\图标\favicon (2).ico" ShowText="true" ShowIcon="true" />
    <CheckButton X="9" Y="0" Width="3" Height="4" Command="Plugin.CatalogPluginComponentItem?SC旋转楼梯38节课程" Text="旋转楼梯" Icon="D:\北宫集团\BIM系列插件\TSEP工具\钢结构工具组\图标\favicon (1).ico" ShowText="true" ShowIcon="true" />
  </Tab>
</Ribbon>
```

### <span class="md-plain">图纸管理器</span>

```
  string str = "基础属性\r\n\r\n";
  DrawingHandler drawingHandler = new DrawingHandler();//图纸列表管理器
  var  drawings= drawingHandler.GetDrawings();//获取图纸列表
  while (drawings.MoveNext())
  {
      str += "图纸名称：" + drawings.Current.Name + "\r\n\r\n";
      str += "图纸类型：" + drawings.Current.GetType() + "\r\n\r\n";
      str += "图纸编号：" + drawings.Current.Mark + "\r\n\r\n";
      str += "冻结状态：" + ((drawings.Current as Drawing).IsFrozen == true ? "冻结" : "没冻结") + "\r\n\r\n";
      str += "锁定状态：" + ((drawings.Current as Drawing).IsLocked == true ? "锁定" : "没锁定") + "\r\n\r\n";
      str += "标题 1：" + drawings.Current.Title1 + "\r\n\r\n";
  }
  return str;
```

### <span class="md-plain">Tekla外部窗体继承</span>

```
Tekla.Structures.Dialog.ApplicationFormBase

初始化当中进行
    public partial class Form1 : ApplicationFormBase
    {
              public Form1()
        {
            InitializeComponent();
            InitializeForm();
            if (GetConnectionStatus())
            {
                string messageFolder = null;
                TeklaStructuresSettings.GetAdvancedOption("XS_MESSAGES", ref messageFolder);
                messageFolder = Path.Combine(messageFolder, @"DotAppsStrings");
                Dialogs.SetSettings(string.Empty);
                Localization.Language = (string)Settings.GetValue("language");
                Localization.LoadFile(Path.Combine(messageFolder, Application.ProductName + ".xml"));
                Localization.Localize(this);
            }
            else
            {
                MessageBox.Show("Tekla Structures is NOT running...");
            }
        }
//与Tekla主窗体同进退
 class Program : WindowsFormsApplicationBase
 {
     public Program()
     {
         IsSingleInstance = true;
         EnableVisualStyles = true;
     }
     protected override void OnCreateMainForm()
     {
         MainForm = new Form1();
         MainForm.Show(TeklaStructures.MainWindow);

     }
     protected override void OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs)
     {
         eventArgs.BringToForeground = true;
         base.OnStartupNextInstance(eventArgs);
     }
     /// <summary>
     /// 应用程序的主入口点。
     /// </summary>
     [STAThread]
     static void Main(string[] args)
     {
         if (TeklaStructures.Connect())
         {
             TeklaStructures.Closed += delegate
             {
                 Application.Exit();
             };
             Application.EnableVisualStyles();
             Application.SetCompatibleTextRenderingDefault(false);
             try
             {
                 Program program = new Program();
                 program.Run(args);
             }
             finally
             {
                 TeklaStructures.Disconnect();
             }
         }
     }
 }
```

### <span class="md-plain">属性大全</span>

#### <span class="md-plain">梁柱</span>

```
 Part beam = new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART) as Part;//选择一根梁
 string property = "基础属性\r\n\r\n";
 //基础属性
 property += "类型: " + beam.GetType().Name + "\r\n\r\n";//名称
 property += "名称: " + beam.Name + "\r\n\r\n";//名称
 property += "截面: " + beam.Profile.ProfileString + "\r\n\r\n";//截面   
 property += "材料: " + beam.Material.MaterialString + "\r\n\r\n";//材料
 property += "完成: " + beam.Finish + "\r\n\r\n";//完成
 property += "等级: " + beam.Class + "\r\n\r\n";//等级
 property += "零件前缀: " + beam.PartNumber.Prefix + "\r\n\r\n";//零件前缀
 property += "零件编号: " + beam.PartNumber.StartNumber + "\r\n\r\n";//零件编号
 property += "构件前缀: " + beam.AssemblyNumber.Prefix + "\r\n\r\n";//构件前缀
 property += "构件编号: " + beam.AssemblyNumber.StartNumber + "\r\n\r\n";//构件编号

 property += "构件垂直方向位置: " + beam.Position.Depth + "\r\n\r\n";//构件垂直方向位置
 property += "位置偏移: " + beam.Position.DepthOffset + "\r\n\r\n";//位置偏移

 if (beam.GetType() == typeof(Beam))
 {
     property += "旋转位置: " + beam.Position.Rotation + "\r\n\r\n";//旋转位置
     property += "位置偏移: " + beam.Position.RotationOffset + "\r\n\r\n";//位置偏移
     property += "水平方向位置: " + beam.Position.Plane + "\r\n\r\n";//水平方向位置
     property += "位置偏移: " + beam.Position.PlaneOffset + "\r\n\r\n";//位置偏移

     property += "起点x偏移: " + ((Beam)beam).StartPointOffset.Dx + "\r\n\r\n";//
     property += "起点y偏移: " + ((Beam)beam).StartPointOffset.Dy + "\r\n\r\n";//
     property += "起点z偏移: " + ((Beam)beam).StartPointOffset.Dz + "\r\n\r\n";//
     property += "终点x偏移: " + ((Beam)beam).EndPointOffset.Dx + "\r\n\r\n";//
     property += "终点y偏移: " + ((Beam)beam).EndPointOffset.Dy + "\r\n\r\n";//
     property += "终点z偏移: " + ((Beam)beam).EndPointOffset.Dz + "\r\n\r\n";//
     property += "扭曲起点: " + beam.DeformingData.Angle + "\r\n\r\n";//扭曲起点
     property += "扭曲终点: " + beam.DeformingData.Angle2 + "\r\n\r\n";//扭曲终点
     property += "起拱: " + beam.DeformingData.Cambering + "\r\n\r\n";//起拱
     property += "减短: " + beam.DeformingData.Shortening + "\r\n\r\n";//减短
 }

 textBox1.Text = property;
 //进阶属性
 property = "";
 string pos = "";
 int pos2 = 0;
 double pos1 = 0.0;
 Phase phase;
 property += "进阶属性" + "\r\n\r\n";
 property += "零件编号：" + beam.GetReportProperty("PART_POS", ref pos) + "：" + pos + "\r\n\r\n";
 property += "状态：" + beam.GetPhase(out phase) + "：" + phase.PhaseName + "\r\n\r\n";
 property += "重量：" + beam.GetReportProperty("WEIGHT", ref pos1) + "：" + pos1 + "\r\n\r\n";
 property += "体积：" + beam.GetReportProperty("VOLUME", ref pos1) + "：" + pos1 + "\r\n\r\n";
 property += "长度：" + beam.GetReportProperty("LENGTH", ref pos1) + "：" + pos1 + "\r\n\r\n";
 property += "数量：" + beam.GetAssembly().GetReportProperty("NUMBER", ref pos2) + "：" + pos2 + "\r\n\r\n";
 property += "顶面标高：" + beam.GetReportProperty("TOP_LEVEL", ref pos) + "：" + pos + "\r\n\r\n";
 property += "底面标高：" + beam.GetReportProperty("BOTTOM_LEVEL", ref pos) + "：" + pos + "\r\n\r\n";
 property += "平面位置：" + beam.GetAssembly().GetReportProperty("POSITION_CODE", ref pos) + "：" + pos + "\r\n\r\n";
 textBox2.Text = property;
```

#### <span class="md-plain">焊缝</span>

```
 Weld weld = new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_WELD) as Weld;//选择一根梁
 string basicproperty = "基础属性\r\n\r\n";
 basicproperty += "类型：" + weld.GetType().Name + "\r\n\r\n";
 basicproperty += "边缘-四周：" + (weld.AroundWeld == true ? "四周" : "边缘") + "\r\n\r\n";
 basicproperty += "工厂-车间：" + (weld.ShopWeld == true ? "工地" : "车间") + "\r\n\r\n";
 basicproperty += "位置：" + weld.Position + "\r\n\r\n";
 basicproperty += "形状：" + weld.IntermittentType + "\r\n\r\n";

 basicproperty += "连接为：" + (weld.ConnectAssemblies == true ? "次零件" : "次构件") + "\r\n\r\n";//
 basicproperty += "布置：" + weld.Placement + "\r\n\r\n";
 //basicproperty += "预加工：" + weld.Preparation + "\r\n\r\n";//预加工为主零件

 basicproperty += "上部的线前缀：" + weld.PrefixAboveLine + "\r\n\r\n";//上部的线前缀
 basicproperty += "上部焊缝的类型：" + weld.TypeAbove + "\r\n\r\n";//上部焊缝的类型
 basicproperty += "上部的尺寸：" + weld.SizeAbove + "\r\n\r\n";//上部的尺寸
 basicproperty += "上部的角度：" + weld.AngleAbove + "\r\n\r\n";//上部的角度
 basicproperty += "上部轮廓类型：" + weld.ContourAbove + "\r\n\r\n";//上部轮廓类型
 basicproperty += "上部完成的类型：" + weld.FinishAbove + "\r\n\r\n";//完成的类型
 basicproperty += "上部焊角面：" + weld.RootFaceAbove + "\r\n\r\n";
 basicproperty += "上部有效喉高：" + weld.EffectiveThroatAbove + "\r\n\r\n";
 basicproperty += "上部根部开孔：" + weld.RootOpeningAbove + "\r\n\r\n";
 basicproperty += "上部增量编号：" + weld.IncrementAmountAbove + "\r\n\r\n";
 basicproperty += "上部长度：" + weld.LengthAbove + "\r\n\r\n";
 basicproperty += "上部斜度：" + weld.PitchAbove + "\r\n\r\n";

 basicproperty += "下部的线前缀：" + weld.PrefixBelowLine + "\r\n\r\n";//下部的线前缀
 basicproperty += "下部焊缝的类型：" + weld.TypeBelow + "\r\n\r\n";//下部焊缝的类型
 basicproperty += "下部的尺寸：" + weld.SizeBelow + "\r\n\r\n";//下部的尺寸
 basicproperty += "下部的角度：" + weld.AngleBelow + "\r\n\r\n";//下部的角度
 basicproperty += "下部轮廓类型：" + weld.ContourBelow + "\r\n\r\n";//下部轮廓类型
 basicproperty += "下部完成的类型：" + weld.FinishBelow + "\r\n\r\n";//完成的类型
 basicproperty += "下部焊角面：" + weld.RootFaceBelow + "\r\n\r\n";
 basicproperty += "下部有效喉高：" + weld.EffectiveThroatBelow + "\r\n\r\n";
 basicproperty += "下部根部开孔：" + weld.RootOpeningBelow + "\r\n\r\n";
 basicproperty += "下部增量编号：" + weld.IncrementAmountBelow + "\r\n\r\n";
 basicproperty += "下部长度：" + weld.LengthBelow + "\r\n\r\n";
 basicproperty += "下部斜度：" + weld.PitchBelow + "\r\n\r\n";

 basicproperty += "NDT检验类型：" + weld.NDTInspection + "\r\n\r\n";//NDT检验类型
 basicproperty += "焊条的分类：" + weld.ElectrodeClassification + "\r\n\r\n";//焊条的分类
 basicproperty += "焊条的强度：" + weld.ElectrodeStrength + "\r\n\r\n";//焊条的强度
 basicproperty += "焊条的系数：" + weld.ElectrodeCoefficient + "\r\n\r\n";//焊条的系数
 basicproperty += "过程类型：" + weld.ProcessType + "\r\n\r\n";//过程类型
 basicproperty += "评注：" + weld.ReferenceText + "\r\n\r\n";
 textBox3.Text = basicproperty;
 //进阶类型
 double ww1 = 0.0;
 string ww = "";
 basicproperty = "进阶属性\r\n\r\n";

 basicproperty += "焊缝编号：" + weld.GetReportProperty("WELD_NUMBER", ref ww) + "：" + ww + "\r\n\r\n";
 basicproperty += "父编号：" + weld.GetReportProperty("WELD_FATHER_NUMBER", ref ww) + "：" + ww + "\r\n\r\n";
 basicproperty += "长度：" + weld.GetReportProperty("LENGTH", ref ww1) + "：" + ww1 + "\r\n\r\n";
 textBox4.Text = basicproperty;
```

#### <span class="md-plain">构件</span>

```
 double num = 0.0;
 string number = "";
 Assembly assembly = new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_OBJECT) as Assembly;//选择一根梁
 string basicproperty = "基础属性\r\n\r\n";
 basicproperty += "类型" + assembly.GetAssemblyType() + "\r\n\r\n";
 basicproperty += "重量" + assembly.GetReportProperty("ASSEMBLY_WEIGHT", ref num) + "：" + num + "\r\n\r\n";
 basicproperty += "体积" + assembly.GetReportProperty("ASSEMBLY_VOLUME", ref num) + "：" + num + "\r\n\r\n";
 basicproperty += "长度" + assembly.GetReportProperty("LENGTH", ref num) + "：" + num + "\r\n\r\n";
 basicproperty += "数量" + assembly.GetReportProperty("NUMBER", ref num) + "：" + num + "\r\n\r\n";
 basicproperty += "顶标高" + assembly.GetReportProperty("ASSEMBLY_TOP_LEVEL", ref number) + "：" + number + "\r\n\r\n";
 basicproperty += "底标高" + assembly.GetReportProperty("ASSEMBLY_BOTTOM_LEVEL", ref number) + "：" + number + "\r\n\r\n";
 basicproperty += "构件位置" + assembly.GetReportProperty("ASSEMBLY_POSITION_CODE", ref number) + "：" + number + "\r\n\r\n";
 textBox6.Text = basicproperty;
 basicproperty = "进阶属性\r\n\r\n";
 basicproperty += "构件编号" + assembly.GetReportProperty("ASSEMBLY_POS", ref number) + "：" + number + "\r\n\r\n";
 basicproperty += "主零件" + assembly.GetMainPart().GetReportProperty("PART_POS", ref number) + "：" + number + "\r\n\r\n";
 var secondes = assembly.GetSecondaries();
 int i = 1;
 foreach (Part part in secondes)
 {
     if (part.GetType() == typeof(Beam))
     {
         basicproperty += string.Format("次零件{0}梁编号", i) + part.GetReportProperty("PART_POS", ref number) + "：" + number + "\r\n\r\n";
         basicproperty += string.Format("次零件{0}梁截面", i) + part.Profile.ProfileString + "\r\n\r\n";
         if (part.GetWelds().GetSize() > 0)
         {
             var welds = part.GetWelds();
             while (welds.MoveNext())
             {
                 basicproperty += string.Format("次零件{0}焊缝编号", i) + (welds.Current as Weld).GetReportProperty("WELD_NUMBER", ref number) + "：" + number + "\r\n\r\n";
             }

         }
     }

     if (part.GetType() == typeof(ContourPlate))
     {
         basicproperty += string.Format("次零件{0}板编号", i) + part.GetReportProperty("PART_POS", ref number) + "：" + number + "\r\n\r\n";
         basicproperty += string.Format("次零件{0}板截面", i) + part.Profile.ProfileString + "\r\n\r\n";
         if (part.GetWelds().GetSize() > 0)
         {
             var welds = part.GetWelds();
             while (welds.MoveNext())
             {
                 basicproperty += string.Format("次零件{0}焊缝编号", i) + (welds.Current as Weld).GetReportProperty("WELD_NUMBER", ref number) + "：" + number + "\r\n\r\n";
             }
         }

     }
     i++;
 }

 textBox5.Text = basicproperty;
```

#### <span class="md-plain">螺栓</span>

```
 BoltArray boltArray = new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_BOLTGROUP) as BoltArray;//选择螺栓

 string basicproperty = "基础属性\r\n\r\n";
 basicproperty += "螺栓的主零件: " + boltArray.PartToBeBolted.GetPartMark() + "\r\n\r\n"
     + "螺栓的次零件: " + boltArray.PartToBoltTo.GetPartMark() + "\r\n\r\n"
     + "螺栓的尺寸: " + boltArray.BoltSize + "\r\n\r\n"
     + "螺栓孔尺寸: " + (boltArray.BoltSize + boltArray.Tolerance) + "\r\n\r\n"
     + "螺栓类型: " + boltArray.BoltType + "\r\n\r\n"
     + "螺栓标准 : " + boltArray.BoltStandard + "\r\n\r\n"
      + "螺栓标准 : " + boltArray.BoltStandard + "\r\n\r\n"
      + "螺栓杆件长度 : " + boltArray.Length + "\r\n\r\n"
      + "螺栓附加长度 : " + boltArray.ExtraLength + "\r\n\r\n"
      + "螺栓切割长度 : " + boltArray.CutLength + "\r\n\r\n"
      + "剪切面是否有螺纹 : " + boltArray.ThreadInMaterial + "\r\n\r\n"
       + "在平面上  : " + boltArray.Position.Plane + "\r\n\r\n"
        + "在旋转上  : " + boltArray.Position.Rotation + "-" + boltArray.Position.RotationOffset + "\r\n\r\n"
         + "螺栓主杆件  : " + (boltArray.Bolt == true ? "有" : "无") + "\r\n\r\n"
          + "螺帽侧垫圈1有无:" + (boltArray.Washer1 == true ? "有" : "无") + "\r\n\r\n"
          + "螺母侧垫圈1有无:" + (boltArray.Washer2 == true ? "有" : "无") + "\r\n\r\n"
           + "螺母侧垫圈2有无:" + (boltArray.Washer3 == true ? "有" : "无") + "\r\n\r\n"
            + "螺母1有无:" + (boltArray.Nut1 == true ? "有" : "无") + "\r\n\r\n"
            + "螺母2有无:" + (boltArray.Nut2 == true ? "有" : "无") + "\r\n\r\n"
            + "扩大孔5个:" + (boltArray.Hole1 == true ? "有" : "无") + "\r\n\r\n"
            + "有无扩大孔:" + (boltArray.HoleType == BoltGroup.BoltHoleTypeEnum.HOLE_TYPE_OVERSIZED ? "有" : "无") + "\r\n\r\n"
            + "有扩大孔则孔直径为:" + (boltArray.BoltSize + boltArray.Tolerance + boltArray.SlottedHoleX) + "\r\n\r\n"
             + "旋转槽:" + boltArray.RotateSlots + "\r\n\r\n"
             + "x方向上的间距:" + boltArray.GetBoltDistX(0).ToString() + "\r\n\r\n"
              + "y方向上的间距:" + boltArray.GetBoltDistY(0).ToString() + "\r\n\r\n"
               + "起点Dx偏移:" + boltArray.StartPointOffset.Dx + "\r\n\r\n"
               + "终点Dx偏移:" + boltArray.EndPointOffset.Dx + "\r\n\r\n";
 textBox8.Text = basicproperty;
 int t = 0;
 string str = "";
 basicproperty = "进阶属性\r\n\r\n";

 basicproperty += "本身构件编号：" + boltArray.GetReportProperty("SECONDARY_1.ASSEMBLY_POS", ref str) + "-" + str + "\r\n\r\n";
 basicproperty += "连接构件：" + boltArray.GetReportProperty("CONNECTED_ASSEMBLIES", ref str) + "-" + str + "\r\n\r\n";
 basicproperty += "连接零件：" + boltArray.GetReportProperty("CONNECTED_PARTS", ref str) + "-" + str + "\r\n\r\n";
 basicproperty += "螺栓数量：" + boltArray.GetReportProperty("NUMBER", ref t) + "-" + t + "\r\n\r\n";
 textBox7.Text = basicproperty;
```

#### <span class="md-plain">插件或组件</span>

```
  string t1 = "", t2 = "", t3 = "", t4 = "", t5 = "";
  CatalogHandler catalogHandler = new CatalogHandler();//组件管理器

  if (catalogHandler.GetConnectionStatus())//有没有链接
  {
      ComponentItemEnumerator componentItemEnumerator = catalogHandler.GetComponentItems();//获取管理器下的组件项
      //t1 = componentItemEnumerator.GetSize().ToString() + "\r\n\r\n";//获取插件的个数
      while (componentItemEnumerator.MoveNext())//遍历当前组件管理器下的每个插件项
      {
          if (componentItemEnumerator.Current.Name == "DkBoltCommon")
          {
              t1 += "插件编号:" + (componentItemEnumerator.Current as ComponentItem).Name + "\r\n\r\n"
                  + "插件名称:" + componentItemEnumerator.Current.Name + "\r\n\r\n"
                  + "插件UI:" + componentItemEnumerator.Current.UIName + "\r\n\r\n"
                   + "插件类型:" + componentItemEnumerator.Current.Type;
          }
          componentItemEnumerator.Current.Select(componentItemEnumerator.Current.Name, componentItemEnumerator.Current.Number);
          t2 += "插件编号:" + componentItemEnumerator.Current.Number + "\r\n\r\n";//插件编号
          t3 += "UI名称:" + componentItemEnumerator.Current.UIName + "\r\n\r\n";//插件UI界面名称
          switch (componentItemEnumerator.Current.Type.ToString()) //简单的switch(){case :beak;....default :break;}//获取到的组件的类型
          {
              case "UNKNOWN":
                  t4 += "未知类型" + "\r\n\r\n";
                  break;
              case "CONNECTION":
                  t4 += "连接类型" + "\r\n\r\n";
                  break;
              case "COMPONENT":
                  t4 += "自定义组件类型" + "\r\n\r\n";
                  break;
              case "SEAM":
                  t4 += "接缝类型" + "\r\n\r\n";
                  break;
              case "DETAIL":
                  t4 += "详细类型" + "\r\n\r\n";
                  break;
              case "CUSTOM_PART":
                  t4 += "自定义零件对象" + "\r\n\r\n";
                  break;
              case "DRAWING_PLUGIN":
                  t4 += "绘图插件" + "\r\n\r\n";
                  break;
              default:
                  t4 += "那我就不知道了" + "\r\n\r\n";
                  break;
          }

      }
  }
  textBox9.Text = t1;
  textBox10.Text = t2;
  textBox15.Text = t3;
  textBox16.Text = t4;
```

#### <span class="md-plain">浇筑体</span>

```
 string str = "";
 int t = 0;
 Part castA = new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART) as Part;//选择零件对象
 Assembly cast = castA.GetAssembly();//获取土建浇筑体，获取钢结构构件
 string castproperty = "零件属性\r\n\r\n";
 castproperty += "对象类型：" + castA.GetAssembly().GetType().Name + "\r\n\r\n";
 castproperty += "零件ID：" + castA.Identifier.ToString() + "\r\n\r\n";//重点
 castproperty += "零件编号：" + castA.GetReportProperty("PART_POS", ref str) + "：" + str + "\r\n\r\n";
 castproperty += "零件数量：" + castA.GetReportProperty("NUMBER", ref t) + "：" + t + "\r\n\r\n";
 castproperty += "零件状态：" + castA.GetReportProperty("PHASE.NAME", ref str) + "：" + str + "\r\n\r\n";
 castproperty += "零件名称：" + castA.Name + "\r\n\r\n";
 castproperty += "零件平面位置：" + castA.GetAssembly().GetReportProperty("POSITION_CODE", ref str) + "：" + str + "\r\n\r\n";
 castproperty += "零件顶部标高：" + castA.GetReportProperty("TOP_LEVEL", ref str) + "：" + str + "\r\n\r\n";
 castproperty += "零件底部标高：" + castA.GetReportProperty("BOTTOM_LEVEL", ref str) + "：" + str + "\r\n\r\n";
 textBox12.Text = castproperty;
 castproperty = "浇筑体属性\r\n\r\n";
 castproperty += "对象类型：" + cast.GetAssemblyType().ToString() + "\r\n\r\n";
 castproperty += "浇筑体ID：" + cast.Identifier.ToString() + "\r\n\r\n";//重点
 castproperty += "浇筑体编号：" + cast.GetReportProperty("CAST_UNIT_POS", ref str) + "：" + str + "\r\n\r\n";
 castproperty += "浇筑体数量：" + cast.GetReportProperty("NUMBER", ref t) + "：" + t + "\r\n\r\n";
 castproperty += "浇筑体状态：" + cast.GetReportProperty("PHASE.NAME", ref str) + "：" + str + "\r\n\r\n";
 castproperty += "浇筑体名称：" + cast.GetReportProperty("MAINPART.NAME", ref str) + "：" + str + "\r\n\r\n";
 castproperty += "浇筑体平面位置：" + cast.GetReportProperty("CAST_UNIT_POSITION_CODE", ref str) + "：" + str + "\r\n\r\n";
 castproperty += "浇筑体顶部标高：" + cast.GetReportProperty("TOP_LEVEL", ref str) + "：" + str + "\r\n\r\n";
 castproperty += "浇筑体底部标高：" + cast.GetReportProperty("BOTTOM_LEVEL", ref str) + "：" + str + "\r\n\r\n";
 textBox11.Text = castproperty;
```

#### <span class="md-plain">钢筋</span>

```
 ArrayList arrayList = new ArrayList();//集合
 Part castA = new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART) as Part;//选择零件对象
 int t = 0;
 double st = 0.0;
 string str = "";
 string castproperty = "基本属性\r\n\r\n";
 string castproperty2 = "特殊属性\r\n\r\n";
 var rebars = castA.GetChildren();//获取浇筑体\土建的对象上的钢筋时候，用到的方法。
 //while (rebars.MoveNext())
 //{
 //    if (rebars.Current.GetType() == typeof(RebarGroup)
 //        || rebars.Current.GetType() == typeof(SingleRebar)
 //        || rebars.Current.GetType() == typeof(RebarSet))//只有当浇筑体的子集里面是钢筋、单根钢筋、钢筋设置才进行获取属性。
 //    {
 //        arrayList.Add(rebars.Current);
 //        castproperty += "对象类型：" + rebars.Current.GetType() + "\r\n\r\n";
 //        castproperty += "钢筋编号：" + rebars.Current.GetReportProperty("REBAR_POS", ref str) + "：" + str + "\r\n\r\n";
 //        castproperty += "钢筋数量：" + rebars.Current.GetReportProperty("NUMBER", ref t) + "：" + t + "\r\n\r\n";
 //        castproperty += "钢筋等级：" + rebars.Current.GetReportProperty("GRADE", ref str) + "：" + str + "\r\n\r\n";
 //        castproperty += "钢筋尺寸：" + rebars.Current.GetReportProperty("SIZE", ref str) + "：" + str + "\r\n\r\n";
 //        castproperty += "钢筋长度：" + rebars.Current.GetReportProperty("LENGTH", ref st) + "：" + st + "\r\n\r\n";
 //        castproperty += "钢筋单重：" + rebars.Current.GetReportProperty("WEIGHT", ref st) + "：" + st + "\r\n\r\n";
 //        castproperty += "钢筋总重：" + st * t + "\r\n\r\n";

 //        //重点，钢筋形状的大样图（示意图）
 //        castproperty2 += "钢筋形状：" + rebars.Current.GetReportProperty("SHAPE", ref str) + "：" + str + "\r\n\r\n";
 //    }

 //}
 textBox14.Text = castproperty;
 textBox13.Text = castproperty2;
```

#### <span class="md-plain">图纸管理器属性</span>

```
 string str = "基础属性\r\n\r\n";
 DrawingHandler drawingHandler = new DrawingHandler();//图纸列表管理器
 var  drawings= drawingHandler.GetDrawings();//获取图纸列表
 while (drawings.MoveNext())
 {
     str += "图纸名称：" + drawings.Current.Name + "\r\n\r\n";
     str += "图纸类型：" + drawings.Current.GetType() + "\r\n\r\n";
     str += "图纸编号：" + drawings.Current.Mark + "\r\n\r\n";
     str += "冻结状态：" + ((drawings.Current as Drawing).IsFrozen == true ? "冻结" : "没冻结") + "\r\n\r\n";
     str += "锁定状态：" + ((drawings.Current as Drawing).IsLocked == true ? "锁定" : "没锁定") + "\r\n\r\n";
     str += "标题 1：" + drawings.Current.Title1 + "\r\n\r\n";
 }
 return str;
```

#### <span class="md-plain">零件翼缘板等属性</span>

```
double thickness = 0.0, length = 0.0, weight = 0.0, width = 0.0;
Part part = new Picker().PickObject(Picker.PickObjectEnum.PICK_ONE_PART) as Part;//选择零件 
string str = "基础属性\r\n\r\n";//定义字符串
str += "截面:" + part.Profile.ProfileString + "\r\n\r\n";
str += "材料:" + part.Material.MaterialString + "\r\n\r\n";
str += "长度:" + part.GetReportProperty("LENGTH", ref length) + "-" + length + "\r\n\r\n";
str += "重量:" + part.GetReportProperty("WEIGHT", ref weight) + "-" + weight + "\r\n\r\n";
textBox20.Text = str;
double weights = 0.0;
part.GetReportProperty("FLANGE_THICKNESS_U", ref thickness);
part.GetReportProperty("FLANGE_WIDTH_U", ref width);
part.GetReportProperty("FLANGE_LENGTH_U", ref length);
str = "进阶属性\r\n\r\n";//定义字符串
str += "上翼缘板截面：" + "PL" + thickness + "*" + width + "\r\n\r\n";
str += "上翼缘板长度：" + length + "\r\n\r\n";
//weights += (7.85 * thickness * width * length / 1000000);
//str += "上翼缘板重量：" +weights+ "\r\n\r\n";
//腹板
part.GetReportProperty("PROFILE.WEB_THICKNESS", ref thickness);
part.GetReportProperty("WEB_WIDTH", ref width);
part.GetReportProperty("WEB_LENGTH", ref length);
str += "腹板截面：" + "PL" + thickness + "*" + width + "\r\n\r\n";
str += "腹板长度：" + length + "\r\n\r\n";
//weights += (7.85 * thickness * width * length / 1000000);
//str += "腹板重量：" + (7.85 * thickness * width * length / 1000000) + "\r\n\r\n";
//下翼缘板
part.GetReportProperty("FLANGE_THICKNESS_B", ref thickness);
part.GetReportProperty("FLANGE_WIDTH_B", ref width);
part.GetReportProperty("FLANGE_LENGTH_B", ref length);
str += "下翼缘板截面：" + "PL" + thickness + "*" + width + "\r\n\r\n";
str += "下翼缘板长度：" + length + "\r\n\r\n";
//weights += (7.85 * thickness * width * length / 1000000);
//str += "下翼缘板重量：" + (7.85 * thickness * width * length / 1000000) + "\r\n\r\n";
//str += "总重"+weights;
textBox19.Text = str;
```

### <span class="md-plain">打开插件列表选择并返回数据</span>

```
Tekla.Structures.Dialog.UIControls.ComponentCatalog componentCatalog1;
private void Component_Click(object sender, EventArgs e)
{
    componentCatalog1.SelectedName = textBox9.Text;
    componentCatalog1.SelectedNumber =
        string.IsNullOrEmpty(textBox10.Text) ? Constants.XS_DEFAULT : int.Parse(textBox10.Text);

}

private void Component_selectionDone(object sender, EventArgs e)
{
    SetAttributeValue(textBox9, componentCatalog1.SelectedName);
    SetAttributeValue(textBox10, componentCatalog1.SelectedNumber);
}
```

### 获取对象的截面类型（是板）

```
pickobjects.Current.GetReportProperty("PROFILE_TYPE", ref str);
```

# 模型篇

### 模型编号

```
//宏命令
namespace Tekla.Technology.Akit.UserScript
{
    public class Script
    {
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            // akit.Callback("acmd_partnumbers_all", "", "main_frame");
            akit.Callback("acmd_partnumbers_selected", "", "main_frame");
        }
    }
}

```

# 焊接工艺笔记

## 焊接方法及焊透种类

<table border="1" id="bkmrk-%E4%BB%A3%E5%8F%B7-%E7%84%8A%E6%8E%A5%E6%96%B9%E6%B3%95-%E7%84%8A%E9%80%8F%E7%A7%8D%E7%B1%BB-gc-%E6%B0%94%E4%BD%93%E4%BF%9D%E6%8A%A4" style="border-collapse: collapse; width: 100%; height: 178.781px;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">代号</td><td style="height: 29.7969px;">焊接方法</td><td style="height: 29.7969px;">焊透种类</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">GC</td><td style="height: 29.7969px;">气体保护电弧焊</td><td style="height: 29.7969px;">完全焊透</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">GP</td><td style="height: 29.7969px;">药芯焊丝自保护焊</td><td style="height: 29.7969px;">部分焊透</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">SC</td><td style="height: 29.7969px;">埋弧焊</td><td style="height: 29.7969px;">完全焊透</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">SP</td><td style="height: 29.7969px;">埋弧焊</td><td style="height: 29.7969px;">部分焊透</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">SL</td><td style="height: 29.7969px;">电渣焊</td><td style="height: 29.7969px;">完全焊透</td></tr></tbody></table>

## 焊接接头

利用焊接方法连接而成的接头称为焊接接头，焊接接头在焊接件中起着连接和传递载荷的作用。  
它由焊缝、热影响区及附近的母材组成，见图。

<figure data-size="normal" id="bkmrk-"><div>![](https://pica.zhimg.com/v2-7068eba85ace6b80b4451ea9ce0cb1be_1440w.jpg)</div></figure>  
焊缝又叫熔化区，由熔化的母材金属和焊丝金属混合而成。  
焊缝和热影响区之间的过渡区域称为熔合区，该区域为半熔化区。热影响区是受到电弧热量影响但没有发生熔化的区域，它分为两个部分: 过热热影响区和低温热影响区。  
过热热影响区通常会出现严重的晶粒长大，又称粗晶热影响区。

## 焊接接头形式

焊接接头有10种类型，分别是常见的：对接接头、搭接接头、角接接头、T形接头，不常见的：端接接头、十字接头、套管接头、斜对接接头、卷边接头和锁底接头，其示意图如图所示。

<figure data-size="normal" id="bkmrk--1"><div>![](https://pic1.zhimg.com/v2-4aa2576e2fa9db3cb1c467083d5149d0_1440w.jpg)</div>[![image.png](https://www.lingyanspace.com/book/uploads/images/gallery/2025-09/scaled-1680-/99mFdmRiKNf9xKut-image.png)](https://www.lingyanspace.com/book/uploads/images/gallery/2025-09/99mFdmRiKNf9xKut-image.png)

## 焊接坡口

**什么是坡口?开坡口的目的是什么?**焊接前，将工件的待焊端部加工成一定形状，组对后形成的沟槽称为坡口。  
开坡口的主要目的是为了实现完全熔透。此外还可调整焊缝成分及性能、改善结晶条件，提高接头性能。  
**表征坡口几何形状及尺寸的参数有哪些?**表征坡口几何形状及尺寸参数有根部间隙、钝边、坡口角度、坡口面角度、U形根部半径等，如图所示。

<figure data-size="normal"><div>![](https://picx.zhimg.com/v2-a45e370803ed4b4c49038eefc7537001_1440w.jpg)</div></figure>对于卷边坡口，表征坡口几何形状及尺寸的参数还有卷边高度和卷边半径，如图所示。  
![](https://pic2.zhimg.com/v2-c0b6dc0dc2b813310571181d69817953_1440w.jpg)

### 对接接头常用坡口形式有哪些?

对接接头的坡口形式有单I形、单边V形、双单边V形(也称K形)、V形、双V形(也称X形)、J形、双」形、U形、双U型、喇叭单边V型、喇叭V型、卷边对接等，见图：

<figure data-size="normal"><div>![](https://pic2.zhimg.com/v2-3327cb2d18d8a8e1648fadffc2372913_1440w.jpg)</div></figure>### 角接接头常用坡口形式有哪些?

角接接头的常用坡口形式有I形坡口、外角V形坡口、外角单边V形坡口、内角单边V形坡口、外角U形坡口、外角J形坡口、内角J形坡口、内角单边喇叭V形坡口、喇叭V形坡口、内角单边喇叭外角端接等几种形式，见图：

<figure data-size="normal"><div>![](https://pic3.zhimg.com/v2-af5767b0f2601df76c296da13360240e_1440w.jpg)</div></figure>### T形型接头常用坡口形式有哪些?

T形接头常见的坡口有I形坡口、单边V形坡口、双单边V形坡口、J形坡口和喇叭单边V形坡口等几种形式，见图：

<figure data-size="normal"><div>![](https://pic1.zhimg.com/v2-0f6990437cea24eb905b5f811be34482_1440w.jpg)</div></figure>### 端接接头常用坡口形式有哪些？

端接接头常见的坡口有I型坡口、单边V形坡口、V形坡口、J形坡口、U形坡口和喇叭V形坡口等几种形式，见图：

<figure data-size="normal"><div>![](https://pic1.zhimg.com/v2-f5b733953abd6dcf19c1f3fcc555fd12_1440w.jpg)</div></figure>### 搭接接头常用坡口形式有哪些？

搭接接头常见的坡口有I形坡口、单边V形坡口、J形坡口等几种形式，见图：

<figure data-size="normal"><div>![](https://pic3.zhimg.com/v2-cfacfb2a70e031eef9aa57abd2084596_1440w.jpg)</div></figure></figure>## 焊缝形式及形状尺寸

## 焊接等级及检测

按照《建筑钢结构焊接技术规程》（JGJ81-2002)规定，钢结构焊缝质量等级分为3级，分别为一级焊缝、二级焊缝、三级焊缝。其中以一级焊缝的要求最高，二级焊缝次之，三级焊缝要求最低。焊缝检测一般包括外观检测和无损探伤检测，焊缝无损探伤检测主要包括超声检测、磁粉检测、液体渗透检测、射线检测其中以超声检测使用最为常见。

根据《建筑钢结构焊接技术规程》(JGJ81-2002)规定，各等级焊缝外观应符合下列要求：

一级焊缝：不得存在未焊满、根部收缩、咬边和接头不良等缺陷，不得存在表面气孔、夹渣、裂纹、电弧擦伤等缺陷；

二级焊缝：不得存在表面气孔、夹渣、裂纹、电弧擦伤等缺陷。未焊满、根部收缩、咬边和接头不良等缺陷应符合《建筑钢结构焊接技术规程》(JGJ81-2002)“表7.2.3 焊缝外观质量允许偏差”要求。

三级焊缝：外观应符合《建筑钢结构焊接技术规程》(JGJ81-2002)“表7.2.3 焊缝外观质量允许偏差”要求。

焊缝无损探伤检测频率：一级焊缝100%进行无损探伤检测，二级焊缝抽取20%进行无损探伤检测，三级焊缝可不进行无损探伤检测。

**表 7.2.3 焊缝外观质量允许偏差**

<figure data-size="normal" id="bkmrk-%E7%84%8A%E6%8E%A5%E7%AD%89%E7%BA%A7%E7%9A%84%E7%A1%AE%E5%AE%9A-%E5%9C%A8%E6%96%BD%E5%B7%A5%E8%BF%87%E7%A8%8B%E4%B8%AD%EF%BC%8C%E5%9B%BE%E7%BA%B8%E4%B8%AD%E6%98%8E%E7%A1%AE"><div>![](https://pic1.zhimg.com/v2-1540a2354a1b24708f2650e3e0ac5610_1440w.jpg)</div>## 焊接等级的确定

在施工过程中，图纸中明确了焊缝等级应按照图纸明确的焊缝等级进行检测。但是很多图纸未明确焊缝等级，此时我们可以参考《钢结构设计规范》（GB500017-2003)第7节进行确定焊缝等级。具体可参考下表执行：

<table border="1" data-draft-node="block" data-draft-type="table" data-row-style="normal" data-size="normal" style="border-collapse: collapse; border-width: 2px;"><tbody><tr><td style="border-width: 2px;">序号</td><td style="border-width: 2px;">焊缝描述</td><td style="border-width: 2px;">焊缝等级</td></tr><tr><td style="border-width: 2px;">1</td><td style="border-width: 2px;">需要进行疲劳计算的作用力垂直于焊缝长度方向的横向对接焊缝（受拉时）</td><td style="border-width: 2px;">一级</td></tr><tr><td style="border-width: 2px;">2</td><td style="border-width: 2px;">需要进行疲劳计算的作用力垂直于焊缝长度方向的横向T形对接与角接组合焊缝（受拉时）</td><td style="border-width: 2px;">一级</td></tr><tr><td style="border-width: 2px;">3</td><td style="border-width: 2px;">需要进行疲劳计算的作用力垂直于焊缝长度方向的横向对接焊缝（受压时）</td><td style="border-width: 2px;">二级</td></tr><tr><td style="border-width: 2px;">4</td><td style="border-width: 2px;">需要进行疲劳计算的作用力垂直于焊缝长度方向的横向T形对接与角接组合焊缝（受压时）</td><td style="border-width: 2px;">二级</td></tr><tr><td style="border-width: 2px;">5</td><td style="border-width: 2px;">作用力平行于焊缝长度方向的纵向对接焊缝</td><td style="border-width: 2px;">二级</td></tr><tr><td style="border-width: 2px;">6</td><td style="border-width: 2px;">不需要进行疲劳计算的对接焊缝（受拉）</td><td style="border-width: 2px;">不低于二级</td></tr><tr><td style="border-width: 2px;">7</td><td style="border-width: 2px;">不需要进行疲劳计算的对接焊缝（受压）</td><td style="border-width: 2px;">二级</td></tr><tr><td style="border-width: 2px;">8</td><td style="border-width: 2px;">重级工作制和起重量Q≥50t的中级工作制吊车梁的腹板与上翼缘之间、吊车桁架上弦杆与节点板之间的T形焊缝</td><td style="border-width: 2px;">不低于二级</td></tr><tr><td style="border-width: 2px;">9</td><td style="border-width: 2px;">直接承受动力荷载且需要验算疲劳的结构和吊车起重量≥50t的中级工作制吊车梁的要求焊透的T型接头的角焊缝、部分焊透的对接与角焊缝组合焊缝、搭接连接的角焊缝</td><td style="border-width: 2px;">二级</td></tr><tr><td style="border-width: 2px;">10</td><td style="border-width: 2px;">其它情况下焊缝</td><td style="border-width: 2px;">三级</td></tr></tbody></table>

注明：根据《钢结构设计规范》(GB500017-2003)“第6节 疲劳计算”规定：直接承受动力荷载重复作用的钢结构构件及其连接，当应力变化的循环次数≥5×104时，应进行疲劳计算。

## 常用焊缝标记识别

在钢结构施工中，焊缝种类有：角焊缝、I形焊缝、V形焊缝、单边V形焊缝、带钝边V形焊缝、带钝边单边V形焊缝、带钝边U形焊缝、带钝边J形焊缝、封底焊缝、塞焊缝、点焊缝、钎焊、缝焊缝、X焊缝、K焊缝、带钝边双面V形焊缝、带钝边双面单V形焊缝、带钝边双面U形焊缝，其中角焊缝、I形焊缝、V形焊缝缝最为常见。下面就常见焊缝的图例及标注给大家做个解释。

<figure data-size="normal"><div>![](https://pic2.zhimg.com/v2-11dafdacd76385f5aac56cc12f82e561_1440w.jpg)</div></figure>常见焊缝标注主要有图1-图7，各标注的含义如下：

图1：T型焊缝的双侧角焊缝，焊缝高度为8mm；

图2：T型焊缝的单侧角焊缝，焊缝高度为8mm；

图3：T型焊缝的单侧角焊缝，焊缝高度为8mm，标注在下方表示焊接侧为箭头对面侧；

图4：V形焊缝，焊缝坡口钝边厚度为8mm，焊缝坡口角度为60°，两构件之间焊接部位间隙为3mm；

图5：单边V形焊缝，焊缝坡口钝边厚度为8mm，焊缝坡口角度为60°，两构件之间焊接部位间隙为3mm；

图6：三面角焊缝，焊缝高度为8mm；

图7：四面角焊缝，焊缝高度为8mm；

<figure data-size="normal"><div>![](https://pica.zhimg.com/v2-d2d68ad20db2d5f321f9a632136f3f3a_1440w.jpg)</div></figure></figure>## 坡口形式及代号

<table border="1" id="bkmrk-%E4%BB%A3%E5%8F%B7-%E7%A0%B4%E5%8F%A3%E5%BD%A2%E5%BC%8F-i-i%E5%9E%8B%E5%9D%A1%E5%8F%A3-v-v%E5%9E%8B%E5%9D%A1" style="border-collapse: collapse; width: 100%; height: 178.781px;"><colgroup><col style="width: 50.0596%;"></col><col style="width: 50.0596%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">代号</td><td style="height: 29.7969px;">坡口形式</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">I</td><td style="height: 29.7969px;">I型坡口</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">V</td><td style="height: 29.7969px;">V型坡口</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">X</td><td style="height: 29.7969px;">X型坡口</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">L</td><td style="height: 29.7969px;">单边V型坡口</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">K</td><td style="height: 29.7969px;">K型坡口</td></tr></tbody></table>

# 机器视觉

### 点积：可以反应方向相似程度

```
a⋅b=|a|*|b|*cosθ

其中：
|a| 是向量 a 的长度（模）
|b| 是向量 b 的长度
θ 是它们之间的夹角（0° 到 180°）

所以：
如果 a ⊥ b（垂直）→ θ = 90° → cosθ = 0 → 点积 = 0
如果 a 与 b 同向 → θ = 0° → cosθ = 1 → 点积 = |a||b|
如果 a 与 b 反向 → θ = 180° → cosθ = -1 → 点积 = -|a||b|
```

### 点积值的解读（假设向量非零）

<div class="qwen-markdown-table-wrap qwen-markdown-table-wrap-pc group relative my-2 w-full" id="bkmrk-%E7%82%B9%E7%A7%AF%E7%BB%93%E6%9E%9C-%E6%95%B0%E5%80%BC%E8%8C%83%E5%9B%B4-%E5%87%A0%E4%BD%95%E6%84%8F%E4%B9%89-%E8%AF%B4%E6%98%8E-%E6%9C%80%E5%A4%A7"><div class="scrollbar-hidden relative max-w-full overflow-x-auto whitespace-nowrap rounded-lg"><table border="1" class="qwen-markdown-table w-full max-w-full table-auto rounded-xl text-left text-sm text-gray-500 dark:text-gray-400" style="border-collapse: collapse; border-width: 2px; width: 100.595%; height: 205.375px;"><thead class="qwen-markdown-table-thead border-none bg-gray-50 text-xs uppercase text-gray-700 dark:bg-gray-850 dark:text-gray-400"><tr class="qwen-markdown-table-thead-tr" style="height: 30.7969px;"><th class="qwen-markdown-table-thead-tr-th cursor-pointer select-none border border-gray-50 dark:border-gray-850" scope="col" style="border-width: 2px; width: 11.2124%; height: 30.7969px;">点积结果</th><th class="qwen-markdown-table-thead-tr-th cursor-pointer select-none border border-gray-50 dark:border-gray-850" scope="col" style="border-width: 2px; width: 16.364%; height: 30.7969px;">数值范围</th><th class="qwen-markdown-table-thead-tr-th cursor-pointer select-none border border-gray-50 dark:border-gray-850" scope="col" style="border-width: 2px; width: 23.4854%; height: 30.7969px;">几何意义</th><th class="qwen-markdown-table-thead-tr-th cursor-pointer select-none border border-gray-50 dark:border-gray-850" scope="col" style="border-width: 2px; width: 48.789%; height: 30.7969px;">说明</th></tr></thead><tbody class="qwen-markdown-table-tbody"><tr class="qwen-markdown-table-tbody-tr bg-white text-xs dark:border-gray-850 dark:bg-gray-900" style="height: 47.5938px;"><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 11.2124%; height: 47.5938px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**最大正值**</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 16.364%; height: 47.5938px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]"><span translate="no"><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="mrel">=</span></span><span class="base"><span class="mord">∣</span><span class="mord mathbf">a</span><span class="mord">∣∣</span><span class="mord mathbf">b</span><span class="mord">∣</span></span></span></span></span></div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 23.4854%; height: 47.5938px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**完全同向**（θ = 0°）</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 48.789%; height: 47.5938px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">向量指向完全相同方向，cosθ = 1</div></td></tr><tr class="qwen-markdown-table-tbody-tr bg-white text-xs dark:border-gray-850 dark:bg-gray-900" style="height: 30.7969px;"><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 11.2124%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**正数**</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 16.364%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]"><span translate="no"><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="mrel">&gt;</span></span><span class="base"><span class="mord">0</span></span></span></span></span></div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 23.4854%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**夹角 &lt; 90°**（锐角）</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 48.789%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">方向“大致相同”，越接近同向，点积越大</div></td></tr><tr class="qwen-markdown-table-tbody-tr bg-white text-xs dark:border-gray-850 dark:bg-gray-900" style="height: 30.7969px;"><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 11.2124%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**零**</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 16.364%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]"><span translate="no"><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="mrel">=</span></span><span class="base"><span class="mord">0</span></span></span></span></span></div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 23.4854%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**垂直**（θ = 90°）</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 48.789%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">互相正交，无方向关联</div></td></tr><tr class="qwen-markdown-table-tbody-tr bg-white text-xs dark:border-gray-850 dark:bg-gray-900" style="height: 30.7969px;"><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 11.2124%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**负数**</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 16.364%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]"><span translate="no"><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="mrel">&lt;</span></span><span class="base"><span class="mord">0</span></span></span></span></span></div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 23.4854%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**夹角 &gt; 90°**（钝角）</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 48.789%; height: 30.7969px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">方向“相反倾向”，越接近反向，点积越小（越负）</div></td></tr><tr class="qwen-markdown-table-tbody-tr bg-white text-xs dark:border-gray-850 dark:bg-gray-900" style="height: 34.5938px;"><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 11.2124%; height: 34.5938px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**最小负值**</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 16.364%; height: 34.5938px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]"><span translate="no"><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="mrel">=</span></span><span class="base"><span class="mord">−</span><span class="mord">∣</span><span class="mord mathbf">a</span><span class="mord">∣∣</span><span class="mord mathbf">b</span><span class="mord">∣</span></span></span></span></span></div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 23.4854%; height: 34.5938px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]">**完全反向**（θ = 180°）</div></td><td class="qwen-markdown-table-tbody-tr-td w-max border border-gray-50 text-gray-900 dark:border-gray-850 dark:text-white" style="border-width: 2px; width: 48.789%; height: 34.5938px;"><div class="qwen-markdown-table-tbody-tr-td-col flex items-center gap-[2px]" data-spm-anchor-id="a2ty_o01.29997173.0.i17.1540c921Qax0rX">cosθ = -1</div></td></tr></tbody></table>

</div></div>