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

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

Как читать коды DXF для 3d solid?

Ответ
Поиск в этой теме
Непрочитано 26.11.2005, 20:34 #1
Как читать коды DXF для 3d solid?
Курмышанец
 
КЖ
 
Петербург
Регистрация: 17.11.2005
Сообщений: 248

Пробовал разобраться в DXF кодах для твердотельных элементов но получал сплошную абракадабру.

Если кто, что знает поделитесь.
Просмотров: 12028
 
Непрочитано 26.11.2005, 21:12 Re: Как читать коды DXF для 3d solid?
#2
fixo

Lisp/VBA/VB.NET Hobbyist
 
Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367


Цитата:
Сообщение от Курмышанец
Пробовал разобраться в DXF кодах для твердотельных элементов но получал сплошную абракадабру.

Если кто, что знает поделитесь.
Мой тебе совет, забудь про это...

~'J'~
fixo вне форума  
 
Непрочитано 27.11.2005, 11:29
#3
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Как говорится на здоровье http://dwg.ru/dwl/123
{Smirnoff} вне форума  
 
Автор темы   Непрочитано 27.11.2005, 18:36
#4
Курмышанец

КЖ
 
Регистрация: 17.11.2005
Петербург
Сообщений: 248


Цитата:
Сообщение от {Smirnoff}
Как говорится на здоровье http://dwg.ru/dwl/123
Thanks big :roll: ! Не хочу показаться охреневшим типом но нельзя ли, что нибудь по русски?
Курмышанец вне форума  
 
Непрочитано 27.11.2005, 20:15
#5
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


>Курмышанец
Цитата:
Thanks big Rolling Eyes ! Не хочу показаться охреневшим типом но нельзя ли, что нибудь по русски? Embarassed
Извиняй, по русски ничего такого нет. Но как то в магазине листал книжку по теории САПР, ни автора ни названия не помню. Книжка ещё та, сплошные уравнения, вот там кажись была глава посвященная SAT-формату. Чтобы такое читать надо быть как минимум кандидатом математических наук Это очень серьёзное графическое ядро и работать с этим могут крутые профи. Так что прислушайся к совету Fatty, если ты что-то и вытащишь из этой расшифровки, то только из самых элементарных солидов.
{Smirnoff} вне форума  
 
Непрочитано 28.11.2005, 02:51
#6
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Даже из простых то не так просто выковырять... увы, нет однозначности... Если это не куб или шар к примеру.
Ты б задачу глобальную обрисовал, а то может быть уже есть решения...
vk вне форума  
 
Непрочитано 28.11.2005, 10:13
#7
Кулик Алексей aka kpblc
Moderator

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


Помимо указанной ссылки попробуй сделать такое, например:
Код:
[Выделить все]
(vlax-dump-Object (vlax-ename->vla-object (car(entsel))) t)
который для приложенного файлика выдает:
Код:
[Выделить все]
; IAcad3DSolid: AutoCAD 3dSolid Interface
; Property values:
;   Application (RO) = #<VLA-OBJECT IAcadApplication 00b9b5e4>
;   Centroid (RO) = (856.159 389.335 258.558)
;   Document (RO) = #<VLA-OBJECT IAcadDocument 0111e520>
;   Handle (RO) = "E8"
;   HasExtensionDictionary (RO) = 0
;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 062cdb14>
;   Layer = "0"
;   Linetype = "ByLayer"
;   LinetypeScale = 1.0
;   Lineweight = -1
;   MomentOfInertia (RO) = (9.22239e+012 3.0526e+013 3.25699e+013)
;   ObjectID (RO) = 2130063232
;   ObjectName (RO) = "AcDb3dSolid"
;   OwnerID (RO) = 2130062584
;   PlotStyleName = "ByLayer"
;   PrincipalDirections (RO) = (0.916683 0.231986 0.325384 -0.255374 0.966362 0.0304718 ... )
;   PrincipalMoments (RO) = (1.39487e+012 1.63549e+012 4.92505e+011)
;   ProductOfInertia (RO) = (1.21412e+013 3.53761e+012 7.74286e+012)
;   RadiiOfGyration (RO) = (505.066 918.886 949.15)
;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 062cd380>
;   Visible = -1
;   Volume (RO) = 3.61532e+007
; Methods supported:
;   ArrayPolar (3)
;   ArrayRectangular (6)
;   Boolean (2)
;   CheckInterference (2)
;   Copy ()
;   Delete ()
;   GetBoundingBox (2)
;   GetExtensionDictionary ()
;   GetXData (3)
;   Highlight (1)
;   IntersectWith (2)
;   Mirror (2)
;   Mirror3D (3)
;   Move (2)
;   Rotate (2)
;   Rotate3D (3)
;   ScaleEntity (2)
;   SectionSolid (3)
;   SetXData (2)
;   SliceSolid (4)
;   TransformBy (1)
;   Update ()
И вытаскивай чего хотишь
[ATTACH]1133162030.dwg[/ATTACH]
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.11.2005, 12:35
#8
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


kpblc
А можно этот отчет сохранить в файл?
Krieger вне форума  
 
Непрочитано 28.11.2005, 13:07
#9
Кулик Алексей aka kpblc
Moderator

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


Да можно, наверное. Если не делать копирование с лога, то надо только знать, какие данные "списывать". А потом элементарно создать тот же самый текстовый файл и шарашить туда конструкцией наподобие такой:
Код:
[Выделить все]
(defun write-string (/ ent string prop)
  (setq ent (entsel))
  (if ent
    (progn
      (setq ent (vlax-ename->vla-object (car ent)))
      (foreach item (list 'centroid 'layer 'momentofinertia)
        (if (vlax-property-available-p ent item)
          (progn
            (setq prop (vlax-get-property ent item))
            (cond
              ((= (type prop) 'str)
               (setq string (append string (list (list prop))))
               )
              ((= (type prop) 'variant)
               (cond
                 ((>= (vlax-variant-type prop) 8192)
                  (setq
                    string
                     (append
                       string
                       (list
                         (vlax-safearray->list (vlax-variant-value prop))
                         ) ;_ end of list
                       ) ;_ end of append
                    ) ;_ end of setq
                  )
                 (t
                  (setq string (append string (list (vlax-variant-value prop))))
                  )
                 ) ;_ end of cond
               )
              ) ;_ end of cond
            ) ;_ end of progn
          ) ;_ end of if
        ) ;_ end of foreach
      ) ;_ end of progn
    ) ;_ end of if
  string
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 28.11.2005, 23:52
#10
Курмышанец

КЖ
 
Регистрация: 17.11.2005
Петербург
Сообщений: 248


kpblc у меня в командной вот что!?

Команда: (vlax-dump-Object (vlax-ename->vla-object (car(entsel))) t)
Выберите объект: ; ошибка: no function definition: VLAX-ENAME->VLA-OBJECT
Команда:

Или я, чтото не то делаю?
Курмышанец вне форума  
 
Непрочитано 29.11.2005, 01:01
#11
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


(vl-load-com) - сначала. И вообще пропиши это в любом автозагружаемом файле.
А знаний, о геометрии солида это практически никаких не даёт Хотя мы наверное тебя не совсем правильно поняли и нужны были самые обычные свойства которые имеет любой примитив и начали грузить насчет расшифровки геометрии. Только kpblc догадался что называется "начать с азов"...
{Smirnoff} вне форума  
 
Автор темы   Непрочитано 30.11.2005, 20:59
#12
Курмышанец

КЖ
 
Регистрация: 17.11.2005
Петербург
Сообщений: 248


Цитата:
Сообщение от {Smirnoff}
(vl-load-com) - сначала. И вообще пропиши это в любом автозагружаемом файле.
А знаний, о геометрии солида это практически никаких не даёт Хотя мы наверное тебя не совсем правильно поняли и нужны были самые обычные свойства которые имеет любой примитив и начали грузить насчет расшифровки геометрии. Только kpblc догадался что называется "начать с азов"...
Да нет, все правильно, я хотел разобраться в структуре описания геометрии солидов, но видно не судьба. А насчет сложности этой темы я думаю так - не просто наверное но и ничего сверхестественного. Но почему АКАДовцы не сделают нормально читаемую кодировку? Шифруются 8) ? [sm703] [sm3517] [sm3539] [sm2302]
Курмышанец вне форума  
 
Непрочитано 30.11.2005, 21:49
#13
fixo

Lisp/VBA/VB.NET Hobbyist
 
Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367


Для записи в файл (текстовый или Эксель)
больше подойдет такой вариант:
Код:
[Выделить все]
(defun get-3d-data (/ ent obj value value_list)
  (setq ent (entsel "\nВыбрать 3d-объект\n"))
  (if (not ent)
    (while (not ent)
      (princ "\nНичего не выбрано, повторить")
      (setq ent (entsel))
    )
  )
  (if (and ent (eq (cdr (assoc 0 (entget (car ent)))) "3DSOLID"))
    (progn
      (setq obj (vlax-ename->vla-object (car ent)))
      (foreach item (list "Centroid" 
			  "Momentofinertia"
			  "PrincipalDirections"
			  "PrincipalMoments"
			  "ProductOfInertia"
			  "RaddiiOfGiration"
			  "Volume"); выкинуть лишнее
	(if (vlax-property-available-p obj item)
	  (progn
	    (setq value	     (vlax-get obj item)
		  value_list (cons (vl-princ-to-string value) value_list))
	    )
	  )
	)
      )
    )
  (reverse value_list)
  )
fixo вне форума  
 
Непрочитано 01.12.2005, 21:25
#14
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
Сообщение от Курмышанец
Но почему АКАДовцы не сделают нормально читаемую кодировку? Шифруются 8) ?
Вроде того. Формат ACIS, который используется для описания геометрии, не Аутодесковый вроде как. Если очень хочется прочитать что там написано - не проблема, это всего лишь легкое шифрование, алгоритм доступен, ну и что с того? Выдрать из расшифрованого геометрию в чистом виде - с трудом для простых тел, а про посложней...
Хотя, почему же нет то.... Попробуйте
Кстати, чтоб не париться с DXF кодами и шифрованием, можно воспользоваться командой _.acisout, а потом полученный файл *.sat открыть блокнотом. И вперед, по книжке, линку на которую дал уважаемый {Smirnoff}. Там практически одно и то же.
vk вне форума  
 
Автор темы   Непрочитано 01.12.2005, 22:42
#15
Курмышанец

КЖ
 
Регистрация: 17.11.2005
Петербург
Сообщений: 248


Цитата:
Сообщение от vk
Цитата:
Сообщение от Курмышанец
Но почему АКАДовцы не сделают нормально читаемую кодировку? Шифруются 8) ?
Вроде того. Формат ACIS, который используется для описания геометрии, не Аутодесковый вроде как. Если очень хочется прочитать что там написано - не проблема, это всего лишь легкое шифрование, алгоритм доступен, ну и что с того? Выдрать из расшифрованого геометрию в чистом виде - с трудом для простых тел, а про посложней...
Хотя, почему же нет то.... Попробуйте
Кстати, чтоб не париться с DXF кодами и шифрованием, можно воспользоваться командой _.acisout, а потом полученный файл *.sat открыть блокнотом. И вперед, по книжке, линку на которую дал уважаемый {Smirnoff}. Там практически одно и то же.
Блин! Спасибо! СКОЛЬКО долларов!!!
Курмышанец вне форума  
 
Непрочитано 09.11.2006, 08:39
#16
Евгений А.

Армспорт
 
Регистрация: 18.07.2006
Ейск
Сообщений: 355


Вот здеся посмотрите
http://autolisp.ru/dwlsp/27
(http://dwg.ru/forum/viewtopic.php?t=10126)
Евгений А. вне форума  
 
Непрочитано 11.02.2011, 14:32
#17
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


Подскажите. Имеется 3-d сборка-модель. Детали которой- достаточно простой формы (максимум - это выдавленный прямоугольник, из которого , например, вырезан прямоугольный вырез) См. файл.


Сверхзадача- получить деталировку этих деталей, развернутых в одну плоскость и проставленными габаритными размерами.

Есть ли какие- то программы, лиспы?

зы где-то видел видеоролик , в котором это делалось+ даже были подготовлены данные для передачи в программы для раскроя.
и в аксонометрии были разнесены детали и подписаны (1,2,3,4) Кто подскажет?
Вложения
Тип файла: dwg
DWG 2004
3d_.dwg (96.6 Кб, 1328 просмотров)
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 06.05.2011, 17:02
#18
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


Нашел такую программу:
МИНИ-МЕБЕЛЬ
http://www.mebelsoft.com/index.htm
видео- ролик здесь:
http://www.mebelsoft.com/mini_video.htm
Судя по всему кто-то все-таки расковырял dxf для солидов
и всего за 60+20 баксов получаете необходимое :-)
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 06.05.2011, 17:28
#19
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


На тему dxf и solids (может будет интересно):
http://www.autodesk.com/techpubs/aut...lid_dxf_06.htm
http://images.autodesk.com/adsk/files/acad_dxf0.pdf
http://paulbourke.net/dataformats/dxf/min3d.html
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 07.05.2011, 00:23
#20
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


sasha_lif
поищите на форуме по слову acis
zamtmn вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как читать коды DXF для 3d solid?

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск