Как получить список листов чертежа и имена принтеров для каждого листа?

Автор Тема: Как получить список листов чертежа и имена принтеров для каждого листа?  (Прочитано 20551 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Вот результат:

Завидую Вам. А у меня почему-то не хочет так работать.
Может с кодировкой файлов имеются проблемы?

Я запускаю с помощью *.bat файла с кодировкой OEM 866

run.bat

Код - INI [Выбрать]
  1. "C:\Program Files\Autodesk\AutoCAD 2014\accoreconsole.exe" /i "D:\Пашин Евгений\Рабочий стол\PDF to Rastr\1_2014.dwg" /s "D:\TestSCR\7.scr"
  2. pause

7.scr

(setvar "SECURELOAD" 0)
(load "D:/TestSCR/L1.lsp")
list_layouts

L1.lsp

Код - Auto/Visual Lisp [Выбрать]
  1.     (defun C:LIST_LAYOUTS ( / lays e LyaoutName PrinterName FormatName)
  2.       (setq lays (cdr (assoc -1  (dictsearch (namedobjdict) "ACAD_LAYOUT"))))
  3.       (setq e (reverse (dictnext lays T)))
  4.       (while e
  5.          (setq LayoutName (cdr (assoc 1 e)))
  6.          (princ (strcat "\nLayout = " LayoutName))
  7.          (setq PrinterName (cdr (assoc 2 e)))
  8.          (if (/= PrinterName nil)
  9.            (princ (strcat "\nPrinter = " PrinterName))
  10.          )
  11.          (setq FormatName (cdr (assoc 4 e)))
  12.          (if (/= FormatName nil)
  13.            (princ (strcat "\nFormat = " FormatName))
  14.          )
  15.          (setq e (reverse (dictnext lays nil)))    
  16.       )
  17.       (princ)
  18.     )
  19.     (princ "\nLIST_LAYOUTS loaded!")
  20.     (princ)
  21.  

/* Я исправил код так, как он должен выглядеть. Александр Ривилис */
« Последнее редактирование: 21-03-2017, 15:57:29 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis

Что у тебя происходит? Запиши видео или хотя-бы отдельные скришоты.
Может с кодировкой файлов имеются проблемы?
Что ты подразумеваешь под кодировкой файлов?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Добрался до AutoCAD Core Console 2017 Russian. Тоже всё работает нормально:



Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Что ты подразумеваешь под кодировкой файлов?




Аааааааааааа!!!!!!!!!!!
не
Код - Auto/Visual Lisp [Выбрать]
  1. (load D:/TestSCR/L1.lsp)
а
Код - Auto/Visual Lisp [Выбрать]
  1. (load "D:/TestSCR/L1.lsp")
Где двойные кавычки ограничивающие строку?????



Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Где двойные кавычки ограничивающие строку??

Аааа, я тааак надеялся. Всё равно не работает?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Всё равно не работает?
Это вопрос или утверждение?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Я уже подумываю о другом решении:
1. Выгружать DXF-файлы из DWG (_dxfout).
2. Затем пропарсить их на предмет наличия AcDbPlotSettings (c помощью регулярных выражений).
3. Затем сформировать DSD файл (в кодировке 1251).
4. Завершить это пакетной печатью (_publish).

Как оказалось у AcCoreConsole существенная чувствительность к кодировке запускаемых файлов.

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Это вопрос или утверждение?

Прошу прощения - это было утверждение. Конец дня тяжёлый :)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Я уже подумываю о другом решении:
1. Выгружать DXF-файлы из DWG (dxfout).
2. Затем пропарсить их на предмет наличия AcDbPlotSettings (c помощью регулярных выражений).
3. Затем сформировать DSD файл (в кодировке 1251).
4. Завершить это пакетной печатью (_publish).
Задача в чем заключается? Ты какие-то обрывки мыслей/заданий кидаешь.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Вот тебе в 2014-ом:

Мне кажется, что я Вас уже замучал :) Пока не выходит.



Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Задача в чем заключается? Ты какие-то обрывки мыслей/заданий кидаешь.

Цель:
1. С помощью СЭД Лоция проводить пакетную печать DWG в PDF. Мой предыдущий модуль по автоматическому переводу файлов чертежей в PDF c помощью СЭД Лоция забраковали, поскольку он работает медленно. Пользователям проще оказалось делать это вручную.
2. Научиться быстро переводить DWG в PDF файлов чертежей с подложками в виде растровых изображений и PDF-подложек. И всё это сделать через СЭД Лоция.

Мне подсказали, что это можно сделать с помощью AcCoreConsole.exe - вот поэтому я это всё и делаю.

Для начала я должен был узнать, а как выуживать информацию из чертежей?!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Мне кажется, что я Вас уже замучал :) Пока не выходит.
Да. Проверь, что у тебя файл называется именно L1.lsp и находится в каталоге D:/TestSCR/ Если файла там нет или в нём ошибка никаких сообщений при загрузке его не будет.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Пашин ЕвгенийАвтор темы

  • ADN PRO
  • *
  • Сообщений: 662
  • Карма: 12
  • Skype: pashin.evgeniy
Да.

Я приношу свои извинения. Давайте я уж как-то сам ещё попробую. Если что-то будет, то сможем обсудить.

Проверь, что у тебя файл называется именно L1.lsp и находится в каталоге D:/TestSCR/





От себя добавлю: AcCoreConsole.exe великолепная штука оказалась!