需要一些帮助,通过在屏幕上选择多段线在2011年添加路线
常规崩溃设置AlignmentStyles。项(0)和.AlignmentLabelStyleSets。项目(0)
我在图形中有样式和标签样式集。我想。项(0)将获得第一个路线样式和标签集。目标是通过选择现有多段线来创建和绘制不属于站点的路线
感谢您的提示和链接,John Coon私有子命令按钮4_Click()。隐藏;公共g_oCivilApp作为AECCaplication;作为AeccDocument的公共GU文档;公共g_oAeccDatabase作为AeccDatabase
Dim AlignmentsIteless作为AeccalignmentsITeless
Dim Alignment作为AeccAlignments
Dim Align mentStyle作为AecalignmentsStyle设置为AeccaligmentLabelStyleSet
Set AlignmentStyle=g_oDocument.AlignmentStyles。第(0)项&引用_“建议”
设置AlignmentLabelStyleSet=g_oDocument.AlignmentLabelStyleSets。第(0)项;(“无标签”)
Dim sAlignName As String作为字符串  
Dim oPoly As AcadLWPolyline
Dim pt As Variant
Dim obj As AcadObject
ThisDrawing.Utility。GetEntity obj,pt,“;选择要转换为路线的多段线:
如果obj的类型为AcadLWPolyline,则设置oPoly=obj;所选实体不是Pline&引用
如果结束   
只要长一点,Dim dPolyObjId=oPoly。ObjectID   
sAlignName=";使用多段线法
sLayerName=";0“
     
设置对齐=无对齐。添加(sAlignName、sLayerName、AlignmentStyle、AlignementLabelStyleSet)
AlignmentsSiteless。AddFromPolyline sAlignName、sLayerName、dPolyObjId、AlignmentStyle、Alignment LabelStyleSet、True、True 
'不确定还有什么
杰夫,这很奇怪,我运行了你的样本,它就像一个符咒。我将相同的代码粘贴到同一个项目中的一个按钮上添加userform hide and show,我在这里得到一个错误:Set AlignmentStyle=g\u oDocument.AlignmentStyles。项目(0),与之前相同
谢谢你的帮助……。我在不同版本中做了一些检查,这是一个半小时的项目,用于标记一些标记,结果不止这些
vba,I';我仍在研究dot-net,它';s越来越好,但我认为这在vba中是一个简单的任务,速度更快,事实证明,考虑到我工作的时间,我可能会尝试它
约翰
私有子命令按钮3\u Click()用户窗体1。隐藏
;如果(GetCivilObjects()=False),则   ;MsgBox“;访问Civil 3D时出错&引用
   ;退出Sub ;结束IfDim Alignment无长度作为AeccAlignmentsSiteless>Dim Align As AeccAlignmentsDim Alignment As AecCaligment<Dim AlignmentStyle As AecCallignmentStylesDim AlignmentLabelStyles设置为AecCalingmentLabelstyleSetSet AlignmentStyle=g_oDocument.AlignmentStyles。第(0)项&引用_“建议”
设置AlignmentLabelStyleSet=g_oDocument.AlignmentLabelStyleSets。第(0)项;(“无标签”)
Dim sAlignName As String作为字符串  
Dim oPoly As AcadLWPolyline
Dim pt As Variant
Dim obj As AcadObject
ThisDrawing.Utility。GetEntity obj,pt,“;选择要转换为路线的多段线:
如果obj的类型为AcadLWPolyline,则设置oPoly=obj;所选实体不是Pline&引用
如果结束   
只要长一点,Dim dPolyObjId=oPoly。ObjectID   
sAlignName=";使用多段线法
sLayerName=";0“
     
设置Align=g\u oDocument.AlignmentsSiteless。AddFromPolyline(sAlignName、sLayerName、dPolyObjId、AlignmentStyle、AlignementLabelStyleSet、True、True)用户表单1。显示 
End Sub