Как вытащить координаты 3dface в VBA
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как вытащить координаты 3dface в VBA

Как вытащить координаты 3dface в VBA

Ответ
Поиск в этой теме
Непрочитано 13.03.2013, 13:36 #1
Как вытащить координаты 3dface в VBA
swell{d}
 
гадание на конечно-элементной гуще
 
Düsseldorf
Регистрация: 31.05.2006
Сообщений: 7,596

Вопрос в теме

Код:
[Выделить все]
for i=0 to ThisDrawing.ModelSpace.count-1
	set line = ThisDrawing.ModelSpace.Item(i)
	if (line.ObjectName = "AcDbFace") then
		ThisDrawing.Utility.Prompt ???
	end if
next
__________________
.: WikiЖБК + YouTube :.
Просмотров: 3241
 
Непрочитано 13.03.2013, 13:46
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Свойство Coordinates у 3DFACE есть?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.03.2013, 14:02
#3
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,596


http://entercad.ru/acadauto.en/idh_coordinates.htm

ещё бы кусочек кода

Offtop: яжнепрограммист
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 13.03.2013, 14:08
#4
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


Код:
[Выделить все]
Public Sub FindMyEntry(ByVal TableName, ObjName As String)
'Ищем в чертеже нужные графические примитивы и загружаем их
'координаты, в указаную таблицу БД
'Вход : Имя таблицы (TableName), Название примитива (ObjName)
'Выход: В таблицу БД

'Коментарий: Коодинаты примитивов хранятся в свойстве .Coordinates
'за исключением линии - у них два свойства .StartPoint и .EndPoint
'поэтому для линии координаты загружаем по особому
Dim MyRS As ADODB.Recordset 'Рабочий набор данных
Dim MyCoord() As Double 'Массив для хранения координат
Dim i, MyUp As Integer
 Set MyRS = OpenMyTable(TableName, 1) 'Открываем таблицу
 For Each Entry In ThisDrawing.ModelSpace
 'Перебираем все примитивы AutoCAD'а в текущем чертеже,
 'в пространстве модели
  If Entry.ObjectName = ObjName Then
  'Если текущий примитив нужный
   If ObjName = "AcDbLine" Then
   'Если нужный примитив линии
    Dim MyCoord1() As Double
    MyCoord = Entry.StartPoint ' Начальная точка
    MyCoord1 = Entry.EndPoint ' Конечная точка
    MyRS.AddNew 'Добавляем запись и записываем координаты
    For i = LBound(MyCoord) To UBound(MyCoord)
     MyRS.Fields(i + 1) = MyCoord(i)
     MyRS.Fields(i + 4) = MyCoord1(i)
    Next i
    MyRS.Update
   Else
    MyCoord = Entry.Coordinates ' Получаем координаты примитива
    MyRS.AddNew 'Добавляем запись и записываем координаты
    If ObjName = "AcDbFace" Then MyUp = 8 Else MyUp = UBound(MyCoord)
    For i = LBound(MyCoord) To MyUp
     MyRS.Fields(i + 1) = MyCoord(i)
    Next i
    MyRS.Update
   'MsgBox "Good"
   End If ' ObjName = "AcDbLine"
  End If ' Entry.ObjectName = ObjName
 Next   ' Entry In ThisDrawing.ModelSpace
 MyRS.Close
End Sub ' FindMyEntry
trir вне форума  
 
Автор темы   Непрочитано 13.03.2013, 14:38
#5
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,596


разобрался, спасибо!
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как вытащить координаты 3dface в VBA



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите вытащить из полилинии все координаты вершин Zaghim Программирование 20 29.08.2021 17:43
Линии электрических соединений Shoorup Программирование 23 07.02.2015 15:13
VBA. Как получить координаты мультивыноски? tuuuzzzik Программирование 5 21.05.2011 00:47
как средствами VBA нарисовать дугу, зная координаты центра, радиус, начальную и конечную точки? tata-tau Программирование 9 03.03.2010 04:07
Как из готового чертежа вытащить координаты точек? АлександрМихайлович Программирование 1 23.05.2005 08:29