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

Вернуться   Форум DWG.RU > Сообщество > Разное > создание собственной подписи???

создание собственной подписи???

Закрытая тема
Поиск в этой теме
 
Непрочитано 13.12.2007, 18:33
#21
ASLYS

Delineante
 
Регистрация: 26.12.2006
Ростов-на-Дону/Madrid
Сообщений: 396
<phrase 1=


в загнивающей испании тоже пользуются закорючками похожими на подпись, а вот для России такой вариант пока неприемлим
ASLYS вне форума  
 
Автор темы   Непрочитано 14.12.2007, 12:05
#22
Робин Бобин


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


Reka2 если несложно подскажите, возможно смастырили закорючки Splinом, или как ким другим способом?
Робин Бобин вне форума  
 
Непрочитано 14.12.2007, 12:08
#23
Profan


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


Отсканировать, вставить в AutoCAD и обвести.
Profan вне форума  
 
Автор темы   Непрочитано 14.12.2007, 12:23
#24
Робин Бобин


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


Ладно, хорошо, а как тогда под это дело правильно макрос составить?
Робин Бобин вне форума  
 
Непрочитано 14.12.2007, 12:24
#25
Reka2

МК, стекло, вентфасады
 
Регистрация: 24.11.2006
Рязань
Сообщений: 45


Цитата:
Сообщение от Робин Бобин Посмотреть сообщение
Reka2 если несложно подскажите, возможно смастырили закорючки Splinом, или как ким другим способом?
Делал как сказал Profan
Reka2 вне форума  
 
Автор темы   Непрочитано 14.12.2007, 15:17
#26
Робин Бобин


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


Цитата:
Сообщение от Profan Посмотреть сообщение
Сделай свою подпись сплайном или сглаженной полилинией, сохрани в DWG и с помощью кнопки, которую ты сделал без особых усилий, вставляй свою подпись как блок куда надо.
Profan, я сходил сюда: dwg.ru/art/2, но сюда по скрипту, который приводится там в качестве примера, вставляется внутренний библиотечный объект, а не фрагмент внешнего файла. Не подскажете с этого места поподробнее: как в окне скрипта кнопки прописать либо вставку из внешнего, созданного мной ранее файла с подписью, состоящей из линий, а не "отсканеной картинки", либо как добавить свою подпись в библиотеку autoCAD
Робин Бобин вне форума  
 
Непрочитано 14.12.2007, 15:28
#27
Profan


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


Посмотрите описание команды "_INSERT" ("ВСТАВИТЬ") в режиме командной строки. Для того, чтобы на экран не выводилось диалоговое окно, команда вводится в виде _-insert.
Profan вне форума  
 
Непрочитано 14.12.2007, 16:03
#28
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 308


>> Робин Бобин
Самый простой вариант макроса на кнопку:
^C^C_.-INSERT;<путь к файлу>;\1;1;0;
Вместо пути поставить например "D:/Подпись/Робин Бобин.dwg"
В файле должна быть только подпись, причем не блоком а линиями (сплайном или чем там еще) и больше ничего. Если все сделано правильно, в указанное место должен вставиться блок с именем = имени файла подписи.
Как уже сказал Profan, посмотрите работу команды INSERT в режиме командной строки и раздел справки по макросам (например "macros, special character codes for commands, table of")

Заодно задам знатокам интересующий меня вопрос.
Допустим в отдельном файле есть куча блоков (библиотека блоков так сказать). Как можно программно (макрос на кнопке, лисп) вставить один из этих блоков в другой открытый файл не открывая библиотечного файла? Командой INSERT вставляется весь файл с блоками, приходится их потом удалять.
Олег К. вне форума  
 
Непрочитано 14.12.2007, 16:54
#29
Кулик Алексей aka kpblc
Moderator

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


"Втупую" и без проверок даже на правильность скобок:
Код:
[Выделить все]
(command "_.-insert" <Имя файла библиотеки>)
(command)
(command "_.-insert" <Имя блока>)
(while (/= (getvar "cmdactive") 0)
(command pause)
)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.12.2007, 17:21
#30
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 308


>> Кулик Алексей aka kpblc
Да, примерно такую конструкцию я и использую. Только после неё приходится добавлять строчку
(command "_.-PURGE" "_b" "*" "_n")
и получать в комстроке сообщения о зачистке файла, что нежелательно, поскольку туда у меня выводится свой отчет (программа работает на автомате, отчет нужен для контроля правильности вставки блоков). CMDECHO=0 почему-то в этой ситуации не работает. Вот и появляется другой вопрос: как блокировать вывод сообщений в комстроку командой PURGE?
Олег К. вне форума  
 
Непрочитано 14.12.2007, 17:34
#31
Кулик Алексей aka kpblc
Moderator

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


Не проверял, но для purge я б попробовал нечто типа
Код:
[Выделить все]
(repeat 3 (vla-purgeall (vla-get-activedocument (vlax-get-acad-object))))
Хотя, если честно, в такой ситуации я бы попробовал полностью программно все делать, не прибегая без крайней нужды к командам.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 14.12.2007, 17:41
#32
Робин Бобин


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


Коллеги! ну замутили...
Робин Бобин вне форума  
 
Непрочитано 14.12.2007, 18:31
#33
Кулик Алексей aka kpblc
Moderator

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


О! Между делом, поиграйся с nomutt
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.12.2007, 19:11
#34
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 308


Хм, замутили. Да собственно, программа эта и делалась чтобы подписи в штамп вставлять.

>> Кулик Алексей aka kpblc
Хотелось бы обойтись без команд, но пока не знаю как сделать вставку блока из файла-библиотеки без INSERTa. По крайней мере это проще, чем через vla-функции.
Вот что это за функция такая vla-purgeall. В книге по Auto- VisualLISPу сами знаете кого есть только коротенькое описание "удаление из рисунка неиспользуемых слоев, описаний блоков и т.п.". А подробнее, есть ли vla-purgewithfilter например? Хотя, есть список наименований блоков, наверное можно попробовать удалять их из таблицы описаний блоков.
Кстати NOMUTT не помогло, сообщения "deleting block такой-то" продолжают появляться. Уже просто интересно становится, можно избавиться от них или нет.
Олег К. вне форума  
 
Непрочитано 15.12.2007, 00:33
#35
Кулик Алексей aka kpblc
Moderator

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


vla-purgeall - аналог (command "_.purge" "_a" <И далее по тексту>)
А если попробовать одновременно выставить и cmdecho в 0, и nomutt в 1, чего получится?
Лично я вижу несколько вариантов вставки определенного блока из файла-библиотеки, но все они "не так просты, как хотелось бы" по сравнению с (command). Рассмотрю только лисповую их реализацию, поскольку VBA меня только запутает, боюсь.
Вариант 1. Через (vla-InsertBlock) вставляется блоком вся библиотека в точку, например, '(0. 0. 0.). Вставленный блок тут же удаляется (но не очищается). Проход по всей коллекции блоков с исключением "нужного" имени блока и попыткой удаления всех остальных. Как вариант можно посмотреть http://jtbworld.com/lisp/purger.htm
Вариант 2. Через ObjectDBX открывается файл библиотеки блоков, оттуда с помощью vla-CopyObjects копируется описание нужного блока, файл библиотеки закрывается. Код по работе с ObjectDBX Fatty показывал не раз и не два; насчет некоторых проблем, связанных с использованием ObjectDBX, я рассказывал здесь.
purgewithfilter
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.12.2007, 11:41
#36
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 308


>> Кулик Алексей aka kpblc
Извини, что так поздно отвечаю, интернета в выходные практически нет.

cmdecho=0 задается в начале программы, nomutt=1 ввел вручную до запуска программы - все равно выводятся сообщения о удалении блоков. Похоже внутри PURGE эхо устанавливается в 1, или вывод идет через princ.
Спасибо за ссылку, axurge-block то, что надо. Придется правда подредактировать для использования списка блоков. И как всегда нигде не указано, что vla-delete может работать с таблицами элементов (в простом LISPе для работы таблицами и словарями используются совершенно разные функции).

Если вставлять через vla-InsertBlock именно библиотеку блоков (т.е. файл, в котором уже определены блоки с точно известными именами), то его можно будет не только удалить, но и зачистить. Ведь в файле останутся описания блоков, которые входили в большой блок-библиотеку.

PS: Орригинальный прикол получился с программой (ax: purge-block).
Олег К. вне форума  
 
Непрочитано 17.12.2007, 17:15
#37
Perezz!!

архитектор
 
Регистрация: 21.08.2003
Москва
Сообщений: 3,587


Комманду sketch попробуй.
Лично мне приятно ставить свою "живую" подпись на свои чертежи в любом количестве экземпляров. А директора тащат по всем чертежам и копиям только лохи. От него требуется подпись только на титульном листе и на листе генплана если таковой имеется в проекте.
Perezz!! вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Сообщество > Разное > создание собственной подписи???



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Net. Создание и модификация материала Павлюкас Готовые программы 27 08.12.2010 10:17
Подписи к объектам Kotsar AutoCAD 4 12.04.2007 19:52
Владимир Свет "AutoCAD: язык макрокоманд и создание кно niki AutoCAD 4 04.02.2005 14:51
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17