Тема: Как нарисовать примитив программно?
как можно программно нарисоваить примитив по известным свойствам?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Как нарисовать примитив программно?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
как можно программно нарисоваить примитив по известным свойствам?
AddText Example
Using Programming Languages other than VBA
Sub Example_AddText()
' This example creates a text object in model space.
Dim textObj As AcadText
Dim textString As String
Dim insertionPoint(0 To 2) As Double
Dim height As Double
' Define the text object
textString = "Hello, World."
insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0
height = 0.5
' Create the text object in model space
Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)
ZoomAll
End Sub
AddText Example
Using Programming Languages other than VBA
Sub Example_AddText()
' This example creates a text object in model space.
Dim textObj As AcadText
Dim textString As String
Dim insertionPoint(0 To 2) As Double
Dim height As Double
' Define the text object
textString = "Hello, World."
insertionPoint(0) = 2: insertionPoint(1) = 2: insertionPoint(2) = 0
height = 0.5
' Create the text object in model space
Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)
ZoomAll
End Sub
слушайте. он у меня рисуется, а потом файл с ним закрывается.
как сделать так, чтоб оставался?
ну ладненько.
с этим я разобрался.
у меня в начале процедуры стояло.
Dim objDoc As AcadDocument
Set objDoc = New AcadDocument
я это выкинул, и у меня заработало.
хотя каким образом после всего нарисованного он вспоминает, что было в начале, не понятно.
ну ладно.
у меня возник другой вопрос-
вот например для рисования текста есть своя функция.
там например для линии для дуги, для окружности и т.д. аналогично
но вот как быть с объектами. для которых такой функции нету?
например 2DPolyline, 2DAngularDimension, AlignedDimension, BlockReference, RadialDimension, RotatedDimension, viewport.
или вот например. есть объект типа PolyfaceMesh.
для того. чтоб его нарисовать. требуются два массива
VerticesList, FaceList (согласно справке)
но среди свойств этого объекта в раскрывающемся списке таких свойств нету.
как быть?
Заранее спасибо.
У тебя чисто академический интерес или ты работаешь над конкретной проблемой?
У каждого примитива есть свойство ...... .Add.....
Нужно просто в Help'е посмотреть как им пользоваться и все заработает в лучшем виде! И строки в коде не путать местами
Sub color_sht() 'Dim plineObj As AcadPolyline Dim points(14) As Double Dim textObj As AcadText Dim textString As String Dim insertionPoint(0 To 2) As Double Dim i As Long Dim hatchObj As AcadHatch Dim patternName As String Dim PatternType As Long Dim bAssociativity As Boolean Dim outerLoop(0 To 0) As AcadEntity patternName = "solid" PatternType = 0 bAssociativity = True For i = 1 To setka_n points(0) = setka_osn(i, 2): points(1) = setka_osn(i, 3): points(2) = 0 points(3) = setka_osn(i, 2): points(4) = setka_osn(i, 6): points(5) = 0 points(6) = setka_osn(i, 5): points(7) = setka_osn(i, 6): points(8) = 0 points(9) = setka_osn(i, 5): points(10) = setka_osn(i, 3): points(11) = 0 points(12) = setka_osn(i, 2): points(13) = setka_osn(i, 3): points(14) = 0 Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity) Set outerLoop(0) = ThisDrawing.ModelSpace.AddPolyline(points) hatchObj.AppendOuterLoop (outerLoop) hatchObj.Evaluate If setka_osn(i, 8) = 0 Then hatchObj.Color = acMagenta If setka_osn(i, 8) = "x" Then hatchObj.Color = acRed If setka_osn(i, 8) = "y" Then hatchObj.Color = acCyan If setka_osn(i, 8) = "z" Then hatchObj.Color = acYellow 'hatchObj.Layer = "INE" Next i End Sub
спасибо.!
но тогда почему их (функций add...) нет в появляющемся контекстном меню?
ну понял.
я- то ищу например addViewport.
а на самом деле addPviewport
еще вопрос.
вот например объект PolyFaceMesh
для его добавления требуются два параметра
vertexList, FaceList
но в раскрывающемся списке объекта таких свойств нету.
не подскажете, где их взять?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Как нарисовать примитив программно?
Форум работает на PunBB, при поддержке Informer Technologies, Inc