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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Присвоение имени 3D объекту. Как сделать?

Присвоение имени 3D объекту. Как сделать?

Ответ
Поиск в этой теме
Непрочитано 15.03.2010, 22:34 #1
Присвоение имени 3D объекту. Как сделать?
Rubль
 
Россия, Воронеж
Регистрация: 24.08.2009
Сообщений: 8

Здравствуйте уважаемые форумчане. Вопрос следующего толка.
1. Рисуем 3D тело (box или "ящик") а затем ему нужно присвоить имя, произвольное. Пример: Бокс - размеры 100 100 100, нарисовали, выбрали его и назвали "конура".
2. Получение информации о вершинах (координаты)
Буду очень благодарен за помощь.
И еще вопрос, можно ли потом выгрузить в .txt имя этого бокса и координаты его вершин? Спасибо всем кто откликнется.
Просмотров: 3903
 
Непрочитано 15.03.2010, 22:38
#2
Кулик Алексей aka kpblc
Moderator

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


1. Блок. Возможно, с атрибутами.
2. Поиск по форуму. Вопрос с "разбором" твердых тел несколько раз поднимался (по-моему, описание формата хранения твердых тел в AutoCAD даже есть в download, выкладывал Евгений Елпанов).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.03.2010, 22:48
#3
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Можно использовать гиперссылки..
Что то типа:

Код:
[Выделить все]
Dim solidObj As Acad3DSolid, center, L, B, H
'.....задаем тем или иным способом center, L, B, H
Dim Hyperlinks As AcadHyperlinks
Dim Hyperlink As AcadHyperlink
Set solidObj =  ThisDrawing..ModelSpace.AddBox(center, L, B, H)
Set Hyperlinks = solidObj.Hyperlinks
Set Hyperlink = Hyperlinks.Add("конура")
Hyperlink.URL = ThisDrawing.FullName
Hyperlink.URLDescription = "Бокс - размеры 100 100 100"
Еще вариант - расширенные данные
Код:
[Выделить все]
Private Sub ent_xdata(obj, str1)
Dim intType(0 To 1) As Integer
Dim varVal(0 To 1) As Variant
intType(0) = 1001
intType(1) = 1000
varVal(0) = "Конура"
varVal(1) = str1
obj.SetXData intType, varVal
End Sub
выцеплять координаты вершин - посложнее, но можно.. с пол-тыка не скажу, как..

По записи в файл, вот к примеру процедурка.. в Path_Arh должно передаваться имя файла, в ss - текст, который надо записать. Естественно, он должен быть до этого "снят" с объектов..

Код:
[Выделить все]
Public Sub Save_Arhiv(Path_Arh as string, ss as string) 'Запись файла
  Const ForReading = 1, ForWriting = 2, ForAppending = 3
  Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
  Dim fs1, f1, ts1, s1
  Dim i As Integer, j As Integer
  Set fs1 = CreateObject("Scripting.FileSystemObject")
  fs1.CreateTextFile Path_Arh            'Create a file
  Set f1 = fs1.GetFile(Path_Arh)
  Set ts1 = f1.OpenAsTextStream(ForWriting, TristateFalse)
  ts1.Write ss
  ts1.Close
End Sub
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!

Последний раз редактировалось AlexV, 15.03.2010 в 22:55.
AlexV вне форума  
 
Непрочитано 16.03.2010, 00:39
#4
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Посмотри в справочнике: vlax-ldata-get, vlax-ldata-put, vlax-ldata-delete.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 16.03.2010, 09:39
#5
Rubль


 
Регистрация: 24.08.2009
Россия, Воронеж
Сообщений: 8
<phrase 1=


Всем спасибо за отклик. Буду пробовать.
Rubль вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Присвоение имени 3D объекту. Как сделать?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из 3d модели сделать 2d чертёж, связанный с 3d моделью? IKArus AutoCAD 16 11.06.2012 16:35
Как из объекта 3ds Max сделать объемное тело в AutoCad ??? Weselkow Прочее ПО от Autodesk 3 22.01.2011 20:18
как изменить длину 3d объекта? phil123123 AutoCAD 6 31.12.2009 10:53
Как сделать сделать заливку на растровой подложке? Особое мнение Разное 2 13.05.2008 10:30
Как сделать проекцию на ось или преобразование 3D в 2D tapych AutoCAD 6 25.11.2006 15:30