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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > преобразование DWG-файла в список команд

преобразование DWG-файла в список команд

Ответ
Поиск в этой теме
Непрочитано 17.01.2008, 23:30 #1
преобразование DWG-файла в список команд
x11r6
 
Регистрация: 17.01.2008
Сообщений: 2

Здравствуйте!

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

получается, нужно чертить все заново, а неохота

может кто знает какую программку, которая умеет такое делать?
Просмотров: 2574
 
Непрочитано 18.01.2008, 05:57
#2
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Log-файл можно посмотреть.
Название темы не корректно.
Profan вне форума  
 
Непрочитано 18.01.2008, 08:27
#3
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от x11r6 Посмотреть сообщение
Здравствуйте!

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

получается, нужно чертить все заново, а неохота

может кто знает какую программку, которая умеет такое делать?
Ага, а видео-последовательность им не требуется?
Если в файле использованы только штатные средства (то есть никаких СПДС / MechaniCS или вертикальных решений типа ADT / MDT, можно попробовать пройтись по всем примитивам, и по характерным точкам попробовать восстановить последовательность команд для каждого из них. Но лично я на такое сейчас не способен - слишком длинный код получится. Вряд ли препода устроит последовательность вида:
Код:
[Выделить все]
Command: _.line Specify first point:
Specify next point or [Undo]:
Specify next point or [Undo]:
Specify next point or [Close/Undo]:
Command:
Конечно, можно попытаться использовать нечто вида
Код:
[Выделить все]
(defun c:save-dwg (/ dwgru-conv-pickset-to-list selset file handle)
;;; ************************************************************************
;;; * Библиотека DWGruLispLib Copyright ©2007  DWGru Programmers Group
;;; *
;;; * _dwgru-conv-pickset-to-list
;;; *
;;; * 03/12/2007 Версия 0001. 
;;; ************************************************************************

  (defun dwgru-conv-pickset-to-list (value / lst item)
;;; Назначение:
;;; Преобразовывает набор (pickset) в обычный список имен примитивов (ename)
;;; Низкоуровневая функция. Контроль соответствия типов не производится

;;; Параметры: 
;;; value - набор (pickset) или nil если пустой набор
;;; Возврат:
;;;   - список примитивов (Ename)
;;;; Пример
    ;|
(dwgru-conv-pickset-to-list (ssget "_L")) ;_(<Имя объекта: 7ef85e00>)
(dwgru-conv-pickset-to-list (ssadd)) ;_nil
  |;
    (repeat (setq item (sslength value)) ;_ end setq
      (setq lst (cons (ssname value (setq item (1- item))) lst))
      ) ;_ end repeat
    lst
    ) ;_ end of defun

  (if (and (setq file (getfiled "LOG-file" "" "log" 1))
           (setq selset (ssget "_X" '((410 . "Model"))))
           ) ;_ end of and
    (progn
      (setq handle (open file "w"))
      (foreach ent (reverse (dwgru-conv-pickset-to-list selset))
        (write-line
          (vl-princ-to-string
            (mapcar
              '(lambda (a)
                 (if (= (type (cdr a)) 'str)
                   (cons (car a) (strcat "\"" (cdr a) "\""))
                   a
                   ) ;_ end of if
                 ) ;_ end of lambda
              (vl-remove-if
                '(lambda (x)
                   (or (member (car x) '(-1 5 330 100))
                       (= (type (cdr x)) 'ename)
                       ) ;_ end of or
                   ) ;_ end of lambda
                (entget ent)
                ) ;_ end of vl-remove-if
              ) ;_ end of mapcar
            ) ;_ end of vl-princ-to-string
          handle
          ) ;_ end of write-line
        ) ;_ end of foreach
      (close handle)
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun
, но на самом деле все это есть в DXF-файле. Короче, мутная задачка какая-то...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 18.01.2008, 08:49
#4
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Алексей, ты уж прямо в лоб хочешь обыграть название темы. А человеку, видимо, нужно получить запись последовательности команд, которые он вводил с клавиатуры или с помощью кнопок. Такие темы обсуждались здесь. Это глупость, конечно. Наверное, в институте не верят, что x11r6 может сам нарисовать детальку в AutoCAD'е. Я думаю, что ему достаточно просто укрупненно перечислить ключевые команды отрисовки и редактирования. А то ведь в протоколе выполнения задания может оказаться, что самыми многократно применяемыми командами будут "_erase" ("стереть") и "_undo" ("отменить")...
Profan вне форума  
 
Непрочитано 18.01.2008, 09:00
#5
Димас

джедай
 
Регистрация: 31.01.2005
Магадан
Сообщений: 460
<phrase 1=


как вариант на форуме проскальзывала программа позволяющая вести лог всех действий, чья программа и как называлась не помню(((
но в этом конкретном случае не поможет, разве что по новой чертить и лог писать..

попробуйте взорвать все, и ограничится командами line, text и тп?
Димас вне форума  
 
Автор темы   Непрочитано 18.01.2008, 20:30
#6
x11r6


 
Регистрация: 17.01.2008
Сообщений: 2


глупость, конечно...

но преподаватель требует

вообще, надо было начертить, скопировать лог а потом еще и почистить от всяких там _erase и _undo (+удалить команды, которые отменялись)

даже скажу больше
преподаватель верит, что я сам все сделал(во всяком случае, он знает, что я могу это сделать)

но я на эту детальку (три проэкции + 3D модель) потратил часов 8 в сумме
и очень неохота делать это заново

попробую еще раз его уговорить
а если нет - видимо придется заново все делать
x11r6 вне форума  
 
Непрочитано 14.02.2008, 09:43
#7
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


А на мой дилетантский взгляд (мдв) это не очень-то уж и глупость.
F2 - ведь в нем фиксируется последовательность всех, к сожалению, действий.

Конечно, erase, undo, zoom и прочие вспомогательные команды/действия утомят и собьют с толку, но хоть что-то для сведений.
С другой стороны, такой лог или нечто подобное поможет понять, как был создан чужой чертеж, если он будет приложен или вложен в файл рисунка. Может тогда и извечно повторяющихся вопросов на форуме меньше будет, в которых не всегда и не каждый сриентируется.

Ведь, похоже, не родились еще книги по принципу step-by-step, как по фотошопу.

Последний раз редактировалось BM60, 06.04.2009 в 11:51.
BM60 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > преобразование DWG-файла в список команд



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Список сокращенных команд в AutoCAD. Pave1 AutoCAD 11 29.05.2018 09:51
Нужен список команд АвтоЛиспа BARS_1985 LISP 6 23.10.2007 07:02
структурированный список Holon Программирование 22 11.09.2007 14:09
Помощь по Лире Серега М Лира / Лира-САПР 52 28.05.2007 02:47
Размер файла dwg alex-alex Прочее. Архитектура и строительство 5 10.09.2004 00:28