Jump to content
  • entries
    14
  • comments
    89
  • views
    3,144

About this blog

мысли и возможно полезное

Entries in this blog

doctorraz

На этом и других форумах периодически возникает вопрос, как сделать растровый PDF средствами CAD, при том, что  nanoCAD выводит PDF вектором.

Собственно эта фича произрастает из древней нанобаги или оно просто так работает...

Если в любом месте листа вставить видовой экран (ВЭ), можно даже пустой, в область печати ему попадать совсем не обязательно, важно, что 

Спойлер

image.png.8c923be02bdf25c0ab0069bf0be5ccee.png

Для печати из пространства модели ставим аналогичный визуальный стиль, но там не торт((( все будет серенькое, при печати из листа эффект интереснее

Выбираем принтер "Встроенный PDF принтер", печатаем и вуаля, получаем растровый PDF. Правда побочный эффект значительное увеличение размера файла.

-----------------

Если вывести на "Печать в формате PDF" то получим удивительный эффект, наложение вектора на растр!!!

Спойлер

image.thumb.png.eb00cd36b7d90d68b3444406e13ea42b.png

 

Спойлер

image.thumb.png.def59326b6ad5bb8342621632362a535.png

Естественно размер файла будет еще больше.

----------------------

PS эксперименты проводил в nanoCAD22, но думаю в прошлых версиях все то же.

PPS поправить не прошу, если б могли давно исправили.

PDF растр.dwg

doctorraz

Disclaimer сразу оговорюсь, способа узнать ID объекта в платформе пока не существует (по крайней мере мне неизвестно).
Хотя разработчики могли бы добавить такую возможность, например в утилиту конфигурации. 
 
Но подставить костылики можно.

Простой способ открыть в мастере объектов и посмотреть ID не рассматриваем (СПДС, Механик и прочие вертикалки работодатель не купил, а пробник выдохся))))

_________________________________________________________

 

Для чего нужен этот ID?

Для того, что бы иметь возможность в вставлять таблицы с кнопок, палитры инструментов или посредством lisp из командной строки. 

Вот такое выражение для кнопок, менюшек и инструментов:

^C^C_stdselected <ID>

 

для lisp (кстати лисп выражения прекрасно работают в менюшках и инструментах)

(defun C:ИмяКоманды ()
  (command "spStdSelected" "<ID>")
  (princ)
) 

Что такое этот ID?

Уникальный идентификатор объекта в базе данных (БД), именно по нему программа узнает какой объект вставить на чертеж.

Что мы знаем о таблицах и их ID?

У каждой таблицы в БД есть свой ID:

  1. Если перемещать таблицу внутри базы по "каталогам", ID не изменяется;
  2. Если переименовать таблицу , ID не изменяется;
  3. Если утилитой конфигурации экспортировать таблицу, у экспортированной ID будет такой же;
  4. Если импортировать таблицу в базу, у импортированной будет тот же ID, но
    если в базе таблица с таким ID уже есть она будет перезаписана импортируемой (независимо от имени);
  5. Если в в каталоге базы есть таблица с другим ID, но таким же именем, то при импорте таблица перезаписана не будет ( в этом каталоге будут две одноименные таблицы);
  6. После вставки на чертеж ID у таблицы на чертеже нет;
  7. Если после редактирования на чертеже сохранить в "каталог" базы одноименную таблицу,  ID таблицы которая была в базе не изменится.

Что дает нам это знание?

  1. Можно сделать экспорт из БД интересующих объектов и попросить имеющих СПДС импортировать их к себе, посмотреть ID,
    вариант рабочий, но далеко не каждый имеет БД для тестов и поэтому вряд ли будет импортировать себе неизвестно, что с риском перезаписать свои объекты;
  2. Можно модифицировать и перезаписать стандартные таблицы из БД (их ID можно посмотреть в инструментах)
    как по мне так себе идея  модифицировать стандартные объекты, при обновлении базы могут перезаписаться опять стандартными;
  3. Можно импортировать в свою БД таблицы с заранее известными ID и в дальнейшем работать с ними

Суть идеи...

  1. Загружаем в свою базу таблицы отсюда  
    в архиве *.mcd таблицы пустышки, имя таблицы, ее ID;
  2. Импортируем таблицы в свою БД в любое место;
  3. Запоминаем имена-ID таблиц либо сразу привязываем их на кнопки и в инструменты;
  4. В утилите конфигурации переименовываем таблицы, как требуется, там же в утилите можно переместить таблицы в нужные каталоги.
  5. Свои настроенные таблицы из БД вставляем на чертеж (либо настраиваем непосредственно на чертеже)
  6. Сохраняем таблицы с чертежа в БД 
    !!!Важно в тот же каталог и под тем же именем, где лежит таблица пустышка (с заранее известным ID)
    Настроенная таблица перезапишет ту, что в базе, но ID не измениться;
  7. Профит, пользуемся и :prey: разработчикам, что бы они добавили возможность посмотреть ID  в "голую" платформу

---------------

PS Если вдруг кто не в курсе

Спойлер

image.png.5210dcae15fde4d1c66586939616e71b.png

 

Спойлер

image.thumb.png.29242fbe4d57a5a3d35aa6df63d384fa.png

Спойлер

image.png.f228d66e60294bade5e679745996febd.png

Никак не связаны и не обязательно должны совпадать, 

×
×
  • Create New...