Александр Смирнов
размещено: 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чиком. Успехов в вашем нелегком труде :)
0.09 МБ
СКАЧАТЬ
Комментарии
Авторизоваться
Кстати не понял юмора по поводу самого главного- декодирование: нафига "(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
Надеюсь, модераторы добавят сам архив на форум...
http://discussion.autodesk.com/servlet/JiveServlet/download/126-477925-5199811-109775/satmanual.zip