⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draw.cls

📁 《管状换热器计算机辅助设计系统ExhCAD绘图系统(版本:1.01a Final)》为自由软件
💻 CLS
📖 第 1 页 / 共 2 页
字号:
            HatchObj.PatternScale = 0.1
            
              For p = 0 To 2: CPoint1(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint2(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint3(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint4(p) = CenterPoint1(p): Next p
                         CPoint1(1) = CPoint1(1) + Design.PipDiameter / 20 + 5
                         CPoint2(1) = CPoint2(1) - Design.PipDiameter / 20 - 5
                         CPoint3(0) = CPoint3(0) - Design.PipDiameter / 20 - 5
                         CPoint4(0) = CPoint4(0) + Design.PipDiameter / 20 + 5
                         Set lineobj = MoSpace.AddLine(CPoint1, CPoint2)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
                         Set lineobj = MoSpace.AddLine(CPoint3, CPoint4)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
         Case 1
            If j Mod 2 = 0 Then
              Set CircleObj1 = MoSpace.AddCircle(CenterPoint1, Design.PipDiameter / 20)
              Set CircleObj2 = MoSpace.AddCircle(CenterPoint1, Design.PipInDiameter / 20)
              Set HatchObj = MoSpace.AddHatch(0, "ANSI31", True)
              Set OuterC(0) = CircleObj1: Set InnerC(0) = CircleObj2
              HatchObj.AppendOuterLoop OuterC
              HatchObj.AppendInnerLoop InnerC
              HatchObj.PatternScale = 0.1
              
                For p = 0 To 2: CPoint1(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint2(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint3(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint4(p) = CenterPoint1(p): Next p
                         CPoint1(1) = CPoint1(1) + Design.PipDiameter / 20 + 5
                         CPoint2(1) = CPoint2(1) - Design.PipDiameter / 20 - 5
                         CPoint3(0) = CPoint3(0) - Design.PipDiameter / 20 - 5
                         CPoint4(0) = CPoint4(0) + Design.PipDiameter / 20 + 5
                         Set lineobj = MoSpace.AddLine(CPoint1, CPoint2)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
                         Set lineobj = MoSpace.AddLine(CPoint3, CPoint4)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
              
              YesNoFlag = False
              Else
                 YesNoFlag = True
               End If
         End Select
          
             For p = 0 To 2: CPoint1(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint2(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint3(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint4(p) = CenterPoint1(p): Next p
                         CPoint1(1) = CPoint1(1) + Design.PipDiameter / 20 + 5
                         CPoint2(1) = CPoint2(1) - Design.PipDiameter / 20 - 5
                         CPoint3(0) = CPoint3(0) - Design.PipDiameter / 20 - 5
                         CPoint4(0) = CPoint4(0) + Design.PipDiameter / 20 + 5
                         Set lineobj = MoSpace.AddLine(CPoint1, CPoint2)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
                         Set lineobj = MoSpace.AddLine(CPoint3, CPoint4)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
            
         k = 0
         For i = 1 To Design.ColNum - 1
            CenterPoint1(1) = CenterPoint1(1) - Design.VeriticalBetweenPipeDistance / 10
            Select Case IndexArrange
              Case 0
                Set CircleObj1 = MoSpace.AddCircle(CenterPoint1, Design.PipDiameter / 20)
                Set CircleObj2 = MoSpace.AddCircle(CenterPoint1, Design.PipInDiameter / 20)
                Set HatchObj = MoSpace.AddHatch(0, "ANSI31", True)
                Set OuterC(0) = CircleObj1: Set InnerC(0) = CircleObj2
                HatchObj.AppendOuterLoop OuterC
                HatchObj.AppendInnerLoop InnerC
                HatchObj.PatternScale = 0.1
                
                  For p = 0 To 2: CPoint1(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint2(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint3(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint4(p) = CenterPoint1(p): Next p
                         CPoint1(1) = CPoint1(1) + Design.PipDiameter / 20 + 5
                         CPoint2(1) = CPoint2(1) - Design.PipDiameter / 20 - 5
                         CPoint3(0) = CPoint3(0) - Design.PipDiameter / 20 - 5
                         CPoint4(0) = CPoint4(0) + Design.PipDiameter / 20 + 5
                         Set lineobj = MoSpace.AddLine(CPoint1, CPoint2)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
                         Set lineobj = MoSpace.AddLine(CPoint3, CPoint4)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
              Case 1
               If YesNoFlag Then
                 If k Mod 2 = 0 Then
                   Set CircleObj1 = MoSpace.AddCircle(CenterPoint1, Design.PipDiameter / 20)
                   Set CircleObj2 = MoSpace.AddCircle(CenterPoint1, Design.PipInDiameter / 20)
                   Set HatchObj = MoSpace.AddHatch(0, "ANSI31", True)
                   Set OuterC(0) = CircleObj1: Set InnerC(0) = CircleObj2
                   HatchObj.AppendOuterLoop OuterC
                   HatchObj.AppendInnerLoop InnerC
                   HatchObj.PatternScale = 0.1
                   
                   For p = 0 To 2: CPoint1(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint2(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint3(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint4(p) = CenterPoint1(p): Next p
                         CPoint1(1) = CPoint1(1) + Design.PipDiameter / 20 + 5
                         CPoint2(1) = CPoint2(1) - Design.PipDiameter / 20 - 5
                         CPoint3(0) = CPoint3(0) - Design.PipDiameter / 20 - 5
                         CPoint4(0) = CPoint4(0) + Design.PipDiameter / 20 + 5
                         Set lineobj = MoSpace.AddLine(CPoint1, CPoint2)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
                         Set lineobj = MoSpace.AddLine(CPoint3, CPoint4)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
                  End If
               Else
                 If k Mod 2 <> 0 Then
                   Set CircleObj1 = MoSpace.AddCircle(CenterPoint1, Design.PipDiameter / 20)
                   Set CircleObj2 = MoSpace.AddCircle(CenterPoint1, Design.PipInDiameter / 20)
                   Set HatchObj = MoSpace.AddHatch(0, "ANSI31", True)
                   Set OuterC(0) = CircleObj1: Set InnerC(0) = CircleObj2
                   HatchObj.AppendOuterLoop OuterC
                   HatchObj.AppendInnerLoop InnerC
                   HatchObj.PatternScale = 0.1
                   
                  For p = 0 To 2: CPoint1(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint2(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint3(p) = CenterPoint1(p): Next p
              For p = 0 To 2: CPoint4(p) = CenterPoint1(p): Next p
                         CPoint1(1) = CPoint1(1) + Design.PipDiameter / 20 + 5
                         CPoint2(1) = CPoint2(1) - Design.PipDiameter / 20 - 5
                         CPoint3(0) = CPoint3(0) - Design.PipDiameter / 20 - 5
                         CPoint4(0) = CPoint4(0) + Design.PipDiameter / 20 + 5
                         Set lineobj = MoSpace.AddLine(CPoint1, CPoint2)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
                         Set lineobj = MoSpace.AddLine(CPoint3, CPoint4)
                         lineobj.Linetype = "Center"
                         lineobj.LinetypeScale = 5
                         lineobj.Update
                 End If
               End If
              End Select
              k = k + 1
               
         
           Next i
           If j <> 2 * Design.PipeNum Then _
           CenterPoint1(0) = CenterPoint1(0) + Design.HorizonBetweenPipeDistance / 10
    Next j
    If m Mod 2 = 0 Then
       CenterPoint1(0) = CenterPoint1(0) + Design.DistanceBetweenRoute1 / 10 + Design.PipDiameter / 10 - Design.HorizonBetweenPipeDistance / 10
    Else
       CenterPoint1(0) = CenterPoint1(0) + Design.DistanceBetweenRoute2 / 10 + Design.PipDiameter / 10 - Design.HorizonBetweenPipeDistance / 10
    End If
   Next m
   
   
End Sub
Private Sub LeftView(Endpoint1() As Double, _
                     Endpoint2() As Double)
     
      
      Dim Point1(0 To 2) As Double, Point2(0 To 2) As Double
      Dim HPoint1(0 To 2) As Double, HPoint2(0 To 2) As Double
      Dim HPoint3(0 To 2) As Double, HPoint4(0 To 2) As Double
      Dim CPoint1(0 To 2) As Double, CPoint2(0 To 2) As Double
      Dim CPoint3(0 To 2) As Double, CPoint4(0 To 2) As Double
      Dim BeginPoint5(0 To 2) As Double, BeginPoint6(0 To 2) As Double
      Dim EndPoint5(0 To 2) As Double, EndPoint6(0 To 2) As Double
    
      Dim CenterPoint1(0 To 2) As Double, CenterPoint2(0 To 2) As Double
      Dim i As Integer, j As Integer
      Dim lineobj As Object
                      
    For i = 0 To 2: BeginPoint5(i) = Endpoint1(i): Next i
    For i = 0 To 2: EndPoint5(i) = Endpoint1(i): Next i
    For i = 0 To 2: BeginPoint6(i) = Endpoint2(i): Next i
    For i = 0 To 2: EndPoint6(i) = Endpoint2(i): Next i
    
    BeginPoint5(0) = 559 - 75
    BeginPoint6(0) = 559 - 75
    
     For i = 0 To 2: Point1(i) = BeginPoint6(i): Next i
     For i = 0 To 2: Point2(i) = BeginPoint6(i): Next i
     
     Point2(1) = Point2(1) + Design.PipLen / 100
     
     For i = 0 To 2: CPoint1(i) = Point1(i): Next i
     For i = 0 To 2: CPoint2(i) = Point2(i): Next i
     For i = 0 To 2: HPoint1(i) = Point1(i): Next i
     For i = 0 To 2: HPoint2(i) = Point2(i): Next i
     
  
          
     For i = 0 To 2: CenterPoint1(i) = Point1(i): Next i
     For i = 0 To 2: CenterPoint2(i) = Point2(i): Next i
     CenterPoint1(1) = CenterPoint1(1) - 5
     CenterPoint2(1) = CenterPoint2(1) + 5
     
     HPoint1(1) = HPoint1(1) + 5: HPoint2(1) = HPoint2(1) - 5
     
     For i = 0 To 2: HPoint3(i) = HPoint1(i): Next i
     For i = 0 To 2: HPoint4(i) = HPoint2(i): Next i
     
     Set lineobj = MoSpace.AddLine(Point1, Point2)
     For i = 0 To 2 * Design.ColNum - 2
        If i Mod 2 = 0 Then
        
          CenterPoint1(0) = Point1(0) + Design.PipDiameter / 20
          CenterPoint2(0) = Point2(0) + Design.PipDiameter / 20
          Set lineobj = MoSpace.AddLine(CenterPoint1, CenterPoint2)
          lineobj.Linetype = "Center"
          lineobj.LinetypeScale = 5
          lineobj.Update
          
          Point1(0) = Point1(0) + Design.PipDiameter / 10
          Point2(0) = Point2(0) + Design.PipDiameter / 10
          
          For j = 0 To 2: CPoint3(j) = Point1(j): Next j
          For j = 0 To 2: CPoint4(j) = Point2(j): Next j
          
          HPoint3(0) = Point1(0): HPoint4(0) = Point2(0)
          Set lineobj = MoSpace.AddLine(Point1, Point2)
       Else
       
          CenterPoint1(0) = Point1(0) + Design.VeriticalBetweenPipeDistance / 20 - Design.PipDiameter / 20
          CenterPoint2(0) = Point2(0) + Design.VeriticalBetweenPipeDistance / 20 - Design.PipDiameter / 20
          Set lineobj = MoSpace.AddLine(CenterPoint1, CenterPoint2)
          lineobj.Linetype = "Center"
          lineobj.LinetypeScale = 5
          lineobj.Update
          
          Point1(0) = Point1(0) + Design.VeriticalBetweenPipeDistance / 10 - Design.PipDiameter / 10
          Point2(0) = Point2(0) + Design.VeriticalBetweenPipeDistance / 10 - Design.PipDiameter / 10
          Set lineobj = MoSpace.AddLine(Point1, Point2)
        End If
        EndPoint5(0) = Point1(0): EndPoint6(0) = Point2(0)
     Next i
      BeginPoint5(1) = BeginPoint5(1) - 5
      EndPoint5(1) = EndPoint5(1) - 5
      BeginPoint6(1) = BeginPoint6(1) + 5
      EndPoint6(1) = EndPoint6(1) + 5
     Set lineobj = MoSpace.AddLine(BeginPoint5, EndPoint5)
     Set lineobj = MoSpace.AddLine(BeginPoint6, EndPoint6)
  
     
End Sub
Public Sub Draw(m_RecordSetup() As Integer, _
                m_RecordCompute() As Double, _
                m_RecordDraw() As Double)

      Dim Beginpoint1(0 To 2) As Double, Beginpoint2(0 To 2) As Double
      Dim Endpoint1(0 To 2) As Double, Endpoint2(0 To 2) As Double
      Dim BlockRefObj As AcadBlockReference
      Dim InsertionTitle(0 To 2) As Double, InsertionDeTable(0 To 2) As Double
  
     
      LoadDrawData m_RecordSetup, m_RecordCompute, m_RecordDraw
      If Not Setup() Then Exit Sub
      DrawInit
      MainView Beginpoint1, Beginpoint2, Endpoint1, Endpoint2
      OverView Beginpoint2, Endpoint2, m_RecordSetup(0)
      LeftView Endpoint1, Endpoint2
      
      InsertionTitle(0) = 549: InsertionTitle(1) = 10: InsertionTitle(2) = 0
      InsertionDeTable(0) = 549: InsertionDeTable(1) = 35.2: InsertionDeTable(2) = 0
      Set BlockRefObj = MoSpace.InsertBlock(InsertionTitle, App.Path + Title, 1#, 1#, 0)
      Set BlockRefObj = MoSpace.InsertBlock(InsertionDeTable, App.Path + DeTable, 1#, 1#, 0)
      
      Pvport.ZoomAll
      Acaddoc.SaveAs App.Path + ExhCADDwg
      
      Unsetup
      
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -