VetCAD

Пособие по расшифровке DXF регионов и солидов

    0 оценок

Александр Смирнов

размещено: 27 Мая 2004
Для программистов:

Сначала преобразовать зашифрованные в DXF группе 1 данные следующими функциями:
(defun acis-decode (s) ; decode an encrypted acis-string of dxf group 1
(apply (function strcat)
(mapcar
(function (lambda (c) ; decode one char
(cond ; by Owen Wengerd
((= c 32) " ")
((= c 86) "I")
(T (chr (boole 6 c 95))))))
(vl-string->list s))
)
)

(defun goACIS (/ ent entl)
(cond ((setq ent (car (entsel)))
(setq entl (entget ent))
(foreach n entl
(if (= 1 (car n))
(princ (acis-decode (cdr n)))
(terpri))))
)
)

Потом пользоваться PDFчиком. Успехов в вашем нелегком труде :)

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-3 из 3
Евгений А. , 22 июля 2006 в 21:23
#1
Очень мало и не по русски (ишь чо захотел), но очень полезно и познавательно, главное заинтересовать!!!
Кстати не понял юмора по поводу самого главного- декодирование: нафига "(chr (boole 6 c 95))", когда достаточно "(chr (- 159 с)" и оставлять с=32 !!!
Вот мой вариант:
(defun c:sat (/ sat str)
(vl-load-com)
(setq sat "")
(foreach str (entget (car (entsel)))
(if (= (car str) 1)
(setq sat (strcat sat
(chr 10) ; переход n
(apply 'strcat
(mapcar
'(lambda (x)
(chr (cond ((= x 32) x) ; код не меняется
(t (- 159 x)) ; декодирование (всего-то)
) ;_ конец cond
) ;_ конец chr
) ;_ конец lambda
(vl-string->list (cdr str))
) ;_ конец mapcar
) ;_ конец apply
) ;_ конец strcat
) ;_ конец setq
) ;_ конец if
) ;_ конец foreach
(princ sat)
(princ)
) ;_ конец defun
Елпанов Евгений , 16 сентября 2008 в 17:45
#2
Самое полное описание формата acis.
Надеюсь, модераторы добавят сам архив на форум...
http://discussion.autodesk.com/servlet/JiveServlet/download/126-477925-5199811-109775/satmanual.zip
VVA , 29 марта 2011 в 12:45
#3
Архив satmanual.zip добавлен в этот пост http://forum.dwg.ru/showpost.php?p=725942&postcount=8
pdf

0.09 МБ

СКАЧАТЬ