> Михаил
Рисуй линию через эти 2 точки, выдавливай:
Option Explicit
Public Sub ExtrudeExample()
Dim oLine As AcadLine
Dim stPt As Variant
Dim endPt As Variant
Dim varPt As Variant
Dim pathEnt As AcadEntity
Dim extEnt As AcadEntity
Dim regObj As Variant
Dim RegEnt(0) As AcadEntity
Dim origPt(2) As Double
Dim dblProc As Double
Dim vecNorm(2) As Double
Dim oSolid As Acad3DSolid
On Error GoTo Err_Control
ThisDrawing.Utility.GetEntity extEnt, varPt, vbCr & "Выбрать объект для выдавливания"
ThisDrawing.Utility.GetEntity pathEnt, varPt, vbCr & "Выбрать линию выдавливания"
If TypeOf pathEnt Is AcadLine Then
Set oLine = pathEnt
stPt = oLine.StartPoint: endPt = oLine.EndPoint
origPt(0) = endPt(0) - stPt(0): origPt(1) = endPt(1) - stPt(1): origPt(2) = endPt(2) - stPt(2)
dblProc = Sqr(origPt(0) * origPt(0) + origPt(1) * origPt(1) + origPt(2) * origPt(2))
vecNorm(0) = origPt(0) / dblProc: vecNorm(1) = origPt(1) / dblProc: vecNorm(2) = origPt(2) / dblProc
extEnt.Normal = vecNorm
Set RegEnt(0) = extEnt
regObj = ThisDrawing.ModelSpace.AddRegion(RegEnt)
Set oSolid = ThisDrawing.ModelSpace.AddExtrudedSolid(regObj(0), oLine.Length, 0)
Else
MsgBox "Объект не является линией" & vbCr & _
"Завершение программы"
End If
Err_Control:
MsgBox Err.Description
End Sub
Потом можешь линию удалить или измени это
условие
в приведенном коде
~'J'~