Eloquintet 发表于 2006-12-23 12:41:23

好的,我明白了,我需要多解释一点。我上传的图纸包含2-1/2"直径的不同场景。我相信管子。第一组包含使用从对话右上角挑选的自定义冲压的组件。然后我做了一个空闲端,一个中心支撑,然后一个驱动端细节。然后我做了一个包含一些附件的绘图,如筋膜/瓷砖支撑。然后我为双阴影组件绘制了相同的空闲中心和驱动细节。然后我重复了这个过程,手动冲压电1/2,然后是电扩展冲压。我还有几个图纸,其中有其他管的场景,但它遵循相同的逻辑。这有任何意义吗?如果我有一个双阴影组件,一个中心线将在阴影1层上,另一个在阴影2层上。青色阴影滚动线也是如此。让我知道这是否对任何人有意义,因为我整天都在画这些东西,所以这些术语对我来说很熟悉。

Bryco 发表于 2006-12-24 13:12:17

首先更改DrawCLines子级以包含一个字符串参数,该参数提供图层名称
Private Sub DrawCLines(Trans As Variant, sLayer As String)
    Dim Cline1(0 To 0) As AcadObject
    Dim lclStartPoint As Variant
    Dim lclEndPoint As Variant
      
    Set Cline1(0) = ActSpc.AddPolyline(Trans)
    Cline1(0).Layer = sLayer
    Cline1(0).color = acGreen
    Cline1(0).Linetype = "CENTER"
   
End Sub
然后使用查找查找所有出现的DrawCLines
并在适当的情况下添加“Shade1”或“Shade2”。

Bryco 发表于 2006-12-24 16:48:50

我个人讨厌2dPolylines,显示的代码不是vba的良好介绍。
如果一个人正在制作大量的极点,那么它们也可以直接传递给子,而不是在代码上加倍
Dim Ang As Double
Ang = MainAngle - (Pi / 2)
CLP1 = TDU.PolarPoint(M1, Ang, D1)
CLP2 = TDU.PolarPoint(M2, Ang, D1)
CLP3 = TDU.PolarPoint(M3, Ang, D1)
CLP4 = TDU.PolarPoint(M1, Ang, D2)
CLP5 = TDU.PolarPoint(M2, Ang, D2)
CLP6 = TDU.PolarPoint(M3, Ang, D2)
If ThisDrawing.IsSingleShade Then
    If ThisDrawing.IsCS Then' center support single shade
      DrawCLines CLP1, CLP3, "Shade1"
      DrawCLines CLP2, CLP3, "Shade1"
    Else                        ' end condition single shade
      DrawCLines CLP1, CLP2, "Shade1"
    End If
Else
    If ThisDrawing.IsCS Then    ' center support double shade
      DrawCLines CLP1, CLP3, "Shade1"
      DrawCLines CLP2, CLP3, "Shade1"
      DrawCLines CLP4, CLP6, "Shade2"
      DrawCLines CLP5, CLP6, "Shade2"
    Else                        '   end condition double shade
      DrawCLines CLP1, CLP6, "Shade1"
      DrawCLines CLP4, CLP5, "Shade2"
    End If
End If
Private Sub DrawCLines(StartPoint As Variant, EndPoint As Variant, sLayer As String)
    Dim Cline1As AcadLWPolyline
    Dim Pts(3) As Double
    Pts(0) = StartPoint(0): Pts(1) = StartPoint(1)
    Pts(2) = EndPoint(0): Pts(3) = EndPoint(1)
    Set Cline1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(Pts)
    Cline1.Layer = sLayer
    Cline1.color = acGreen
    Cline1.Linetype = "CENTER"
   
End Sub

Eloquintet 发表于 2006-12-24 17:32:35

首先谢谢你的帮助。我装上了新的潜艇,并增加了翻译。当我在选择了点之后运行它,我得到了一个执行错误。我没有包括你第二篇文章中的代码,因为我认为它更多的是建议应该如何做,这是正确的吗
页: 1 [2]
查看完整版本: 我需要帮助修改现有的例程