| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
12.09.2005, 09:04 | #1 | |
Программное создание размерных стилей
Moderator
LISP, C# (ACAD 200[9,12,13,14])
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 39,844
|
||
Просмотров: 27447
|
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Ну дело в том, что есть человек с ником Apelsinov, весьма сильно мною уважаемый, не хочу даже косвенно его обижать или давать повод.
За похвалу спасибо - Доброе слово и ламеру приятно (с) Лукьяненко, "Фальшивые зеркала". Zip, если можно, то да, с большим удовольствием. Сколько оно весит? Просто yandex не принимает больше 10 метров за раз, т.е. паковка должна быть где-то по 7-7,5 метров, не больше.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Хорошая новость - мыло уже отслал, всего 800К.
Плохая нововсть - нет, пусть уж AutoDesk скажет сам: "Dimensions created via the AutoCAD user interface are created with the active dimension style plus all document overrides. Dimensions created via ActiveX are created with the active dimension style only. To have the dimensions created via ActiveX take on the document overrides, use the CopyFrom method to copy the dimension style from the document to the active dimension style." Так что сохдавайте парный спиок с DXF кодами, согласно DXF Reference->Tables->DIMSTYLES, типа такого Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Опять-таки немного новостей:
хорошая - письмо получил, но пока просмотреть не успел. отвратительная - список создан, но (entmake) для него возвращает nil. Соответственно, ничего не делается. Чтобы не быть голословным: Код:
При этом на самом деле в группе 5 мне надо использовать "_Archtick", но это ладно, можно временно и (setvar) применить, и заменить Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Не знаю, как в более ранних версиях, но в 2005 группы 5, 6. 7б 270 и 287 не используются (obsolete), потому, как я понимаю, ими пользоваться не следует. Ссылки на блок стрелки делаются группами 340, 341 и 342, соответственно "handle of referenced BLOCK, BLOCK1, BLOCK2" и переменные DIMBLK, DIMBLK1, DIMBLK2. Может, следует вытаскивать соотв. ссылку из коллекции_блоков/tblsearch "block" и потом как-то пердвать вновь создаваемому списку? И еще, если есть чертеж-прототип, не проще ли перенести стиль путем CopyFrom.Object?
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Да все дело в том, что такая операция будет выполняться, скорее всего, миллионы раз, так что вариант copyfrom немного не катит. Мне тут подсказали попробовать применять dxf-список, полученный через (entget (tblobjname "dimstyle" "dimenstion_style_name")), сейчас ковыряю в этом направлении.
Кстати, за книгу огромное человеческое спасибо, вчера распечатал, до 2 ночи не спал - читал. Может, ее сюда закинуть, поскольку она и на afralisp'e тоже есть вроде как в свободном скачивании?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Упс... Все равно thanks огромаднейший.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Я так понял, что kpblc создает новый размерный стиль в документе, где этого стиля раньше не было. Ваша же программа создает в пределах одного и того же документа новый стиль, содержащий те же установки, что и старый. Сорри. но это не от той стенки гвоздь.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Всем откликнувшимся - огромное человеческое спасибо. Лентяю - отдельный земной поклон за книгу. Alaspher - за иллюстрации. Проблема решена. Если интересно, код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
А вот теперь, когда задача решена, может быть подумать - а нужно ли вообще программное создание стиля?
Стиль - именованная совокупность набора значений системных переменных, устанавливающаяся при выборе стиля. Если оформлять размеры по-разному, использовать стиль в голом Автокаде удобно. Но если дошли до программирования, то цель, возможно, обеспечить единообразие - то есть оформление размеров по единому стандарту. Для этого стиль не нужен - можно просто устанавливать требуемые значения, чтобы в текущем состоянии размеры изображались "как надо". Это будет гораздо нагляднее маловразумительных DXF-кодов. "Любимые" значения можно вообще в файле держать, даже списком. Это позволит не менять программу, если встретишь другую любовь. Эт так, в порядке возможного варианта. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
> ShaggyDoc : Да пробовал я так, пробовал. Не фонтан, если честно - постоянно работать с системными переменными - достаточно медленно, дополнительно надо отслеживать, какой размер проставляется... В общем, либо у меня руки кривые, либо мне лень. Скорее всего, и то, и другое. В общем, мне показалось это более приемлемым вариантом. Кстати, там в комментариях на каждый dxf-код соответствующая ему системная переменная забита - это к вопросу о маловразумительности.
Ладно, если не интересно, то и бог с ним, оставим тему в покое, она сама и умрет.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
>ShaggyDoc
Мне очень понравилось решение kpblc. Я тоже употребляю размерные стили, хранящиеся в прототипе. Для единообразия (архитектурно-строительное проектирование) использую целых два стиля: с выносными линиями и без. Переключение между стилями осуществляется выбором кнопки (пользовательской) проставления размера: с выносными линиями или без оных. Но в случае его (прототипа) очистки, неиспользуемые стили уходят. Безвозвратно! В этом случае программное задание стиля (после проверки на его наличие) выручает. Так я и делал, но попроще (по-инженерному), текст же kpblc учел кажется все варианты. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
> Alan : можно и не проверять, а просто повторно вызывать - override-стиль не создается, все настройки переходят на "стандартные", которые заданы в dxf-списке. Если чего-то там не нравится в этих настройках, исправить, по-моему, 5 минут.
Несколько замечаний: 1. Группу 70 не трогать - она вкупе с именем (группа 2) определяет область применения стиля. 2. Устаревшие группы не использовать - ибо нефиг 3. Для группы 340 предварительно надо сделать текстовый стиль 4. Для групп 342, 343, 344 при условии использования закрашенной стрелки придется извращаться - т.к. при создании нового стиля эти настройки по умолчанию берутся с текущего. Соответственно приходится туда каким-то манером вколачивать dimblk = "", что через (tblobjname) провернуть нереально.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Программа-то мне тоже понравилась.
А вот насчет разных стилей в одном проекте - сомнение. Особенно "архитектурных". Допустим, размеры проставлены "архитектурно", без выносок. Так можно где-нибудь на чисто "архитектурных" чертежах. Но далее эта же подоснова попадет к строителям, смежникам. А там такие вольности уже не пойдут. Часть будет одним стилем, часть другим. Плюс еще другие "архитектурные" особенности (недовводы, непараллельность стен осям, "красивые" до ужаса шрифты и т.п.) - общий вид ужасный. Да еще любовь к расчленению размеров (ij, как я нарисовал, на века), когда переопределение стиля не спасет. PS. К качеству программы, над которой kpblc хорошо потрудился это не имеет отношения. PPS. Втягивание в дискуссию не о программе исключительно с провокационной целью. |
|||
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,835
|
>ShaggyDoc
Цитата:
ИМХО, надо дать проектировщику возможность выбора сообразно конкретному случаю. Цитата:
А за несоблюдения карать сообразно революционной целесообразности. Битьём!!! |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Поддамся на провокацию (ессно, со шкурными интересами) - именно так, как описал ShaggyDoc, работают у меня архитекторы. Конструктора рыдают - у кого еще силы остались. На все попытки урезонить архитекторов те отвечают "Мы творческие люди, и нам техника ни к чему". Именно поэтому эту прогу + обновление всех текстовых и размерных примитивов на основе тутошней же функции kpblc-ent-modify повесить на сохранение. Хоть что-то...
А насчет остального - конструкторы уже начинают вроде как заворачивать чертежи обратно на доработку, если шаг не соблюден, если взорваны размеры (пока говорят, если таких большая часть, но, надеюсь, придем к тому, чтобы даже один такой размер служил основанием для доработки), если не использовалась orthomode, кроме косых кусков, ну и так далее. Что самое интересное, учиться из 35 человек могут, хотят и учатся всего 6-7, при всем при этом трое - "тетушки" предпенсионного возраста. Какое удовольствие с ними работать - не описать! Так что все для них, родных.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер строитель Регистрация: 24.02.2005
Москва
Сообщений: 396
|
вопросы к Крыс:
1) В 2008 версии появилась новая возможность в текстовых и размерных стилях использовать свойство "Annotative", как добавить эту опцию к лиспу? Вроде переменна которая за это отвечает "DIMANNO", но она "только для чтения" 2) Есть чертеж с размерным стилем "М 1-1", я запускаю твой лисп (имя размерного стиля в лиспе я изменил на "M 1-1" и у меня появляются ДВА размерных стиля "М 1-1" (настройки стилей разные). Как сделать чтобо стиль создаваемый лиспом заменял существующий? 3) Засечки для радиусов диаметров... могут быть только "Closed filled" ? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
1. Annotative - посмотрю, может, чего и получится.
2. Вообще-то 2 размерных стиля с одинаковым именем не могут существовать. Может, раскладка не та? Потому как у меня такого не наблюдается. 3. Ага. Делал специально, для "подстилей". --- Добавлено: Интересные вещи нарисовываются. В Annotative стиле присутствуют расширенные данные: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер строитель Регистрация: 24.02.2005
Москва
Сообщений: 396
|
2. Точно буква "М" была в разных раскладках.
3. Жаль что только "Closed filled" всегда пользовался "Open 30", но с этим можно жить. Вопрос по текстовому стилю: I) есть строчка которая отвечает за угол наклона '(50 . 0) ; oblique angle я хочу сделать угол наклона текста был 15 градусов, заменеяю "0" на "15"-> и получаю угол в свойсвах текста "-220.563". В каких единицах задается угол? (в справке дается значение от "-85" до "85") II) Как добавить (добавь пожалуста ) еще 2 два текстовых стиля "ТЕКСТ", "ЗАГОЛОВОК" и сделать текущим слой "ТЕКСТ" после запуска лиспа. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Значится так
Для создания текстового стиля "как захочется" использовать можно такое: Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер строитель Регистрация: 24.02.2005
Москва
Сообщений: 396
|
-> VVA Спасибо ввел 0.261799 и угол наклона стал таким каким мне нужно.
Крыс Лисп который создает текстовый стиль в ответ на Код:
Код:
и как сделать текстовый стиль текущим? P.S замена в лиспе размеров групп 342...344 Код:
Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Во-первых, у тебя неправильный вызов. Надо так:
Код:
Сделать текущим: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер строитель Регистрация: 24.02.2005
Москва
Сообщений: 396
|
1)При добавлении в автозагрузку ругается
Код:
Код:
Код:
3)замена в лиспе размеров групп 342, 343,344 Код:
Код:
4)По поводу сделать текущим текстовый стиль - не понял куда вставлять и как запускать Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
<...>Все снес, вот вроде как работающий вариант:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер строитель Регистрация: 24.02.2005
Москва
Сообщений: 396
|
Крыс спасибо. Но я не могу сообразить
Объясни порядок работы (в моем понимании) 1)создаем текстовые стиль(у меня их 3 "ТЕКСТ", "РАЗМЕР", "ЗАГОЛОВОК") командой Код:
Код:
3)Создаем размерный стиль ("М 1-1"). Какую команду ввести? 4)Создать макрос, чтоб автоматизировать пункты 1),2),3) |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Вот переделанный код (как говорится, найди отличия)
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Цитата:
что-бы подключить "обратнописание" , пробовал поменять "0" на "1" непомогает Код:
|
|||
|
||||
РАз уж тема поднялась, добавлю еще одну ссылочку на программное создание размерных стилей
http://www.theswamp.org/index.php?topic=23586.0
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 30.06.2008 в 15:48. |
||||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Мне часто бывают нужны размерные линии с одной стрелкой и с масштабом размерного значения 0,5. Я создаю новый стиль на основе ISO-25, в настройках убираю выносные линии, одну стрелку (первую привык) и выставляю масштаб (остальное - по умолчанию. Естественно, в каждом файле надо это делать, либо копировать такую стрелку из другого файла....
kpblc, можно ли с помощью твоего лиспа сделать это?? В идеале хотелось бы так: 1.Жму кнопку на панели 2.Создается вышеописанный размерный стиль, сразу же включается, и система предлагает кликнуть первую, затем вторую точки размерной линии. 3.Вот линия на месте, включается обратно ранее установленный размерный стиль 4.При нажатии правой кнопки мыши - повтор команды, т.е., видимо, не макрос это должен быть и не функция....Может, я не все понимаю А вообще, считаю, что лиспик очень серьезен Последний раз редактировалось skkkk, 30.06.2008 в 03:22. Причина: Забыл уведомление подключить |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Ну а почему бы нет? Есть вопрос: а этот "собственный" стиль относиться будет к каким размерам (линейный? выравненный? угловой?); верно ли я понял, что стрелка, остающаяся "на месте" - это заполненная?
Попробую сегодня на обеде (если не загрузят по самое не хочу)...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Чего-то никак не получается победить "отсутствие" размерной стрелки. Должно быть просто до безобразия, ан никак
Еще вечером попробую глянуть.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Цитата:
ЗЫ:Эх. А как узнать dxf код соответствующий переменной dimtfill? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Какой-какой переменной? В 2006 такой не нашел.
А не получается следующее: попробуй программно создать размерный стиль, в котором отключено создание одной из стрелок.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Алексей, мне кажется нужно
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Я пробовал. Не сработало. Не знаю, что тому виной (наверное, я) - вечером попробую провернуть еще разок. На другой ОС, на другой версии...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Цитата:
Код:
dimtfill - недокументированная, но она отвечает за background mask текста который используется в размерах. пробивается по тут: http://www.kxcad.net/autodesk/autoca.../d0e138311.htm но зная ее сделать размерный стиль не получается. Может через вла получится модифицировать это свойство. Книги Полещука Акад2008 под рукой нету - ща пойду искать. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
наконец-то до меня "дошло".
Надо в описании стиля менять группу 173 с '(173 . 0) на '(173 . 1) - в таком случае допускается использование dimblk1 и dimblk2, а не dimblk. Группы для отсутствующих стрелок надо будет исключать из списка. И потом создавать. Правда, на код меня не хватило, так что результат наполовину теоретический
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Ну не всю, часа полтора-два где-то потратил. Пока все переменные прошерстил
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
На что меня должно хватить? На написание кода под твою задачу? Попробую вечером...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Код слишком сложный выходит. Сейчас как раз пробую упростить.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Вопрос такой:
В приложенном файле рисунка я провёл такой эксперимент: Цитата:
Где я туплю? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Обрати внимание - ты ж получаешь 340 группу, а у тебя и в первом, и во втором случае там лежит одно и то же.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
|
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Кулик Алексей aka kpblc, точно одно и тоже: (340 . <Имя объекта: 7eff1ae8>)
Так что же это? В DXF-ref.. написано: 340 - DIMTXSTY (handle of referenced STYLE) И вот как раз DIMTXSTY для каждого размерного стиля разное. Alaspher, извини, что-то не допонял. Можно поподробней. ЗЫ Вообще-то я уже решил проблему, получаю текстовый стиль через tblobjname. Просто хочется для себя прояснить этот момент. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Makswell, ну кто ж тебе виноват, что у тебя такой дамп получился...
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
Цитата:
Вариант с tblobjname - всегда надёжнее. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
|
|||
|
||||
Строительство Регистрация: 03.09.2003
Нижний Новгород
Сообщений: 81
|
А можно сделать размерный стиль без дополнительного определения для размерных стилей на угловые размеры, радиусы и т.п.?
Просто один размерный стиль!!!! Спасибо. как я понимаю сделать это не возможно Последний раз редактировалось Кулик Алексей aka kpblc, 17.11.2008 в 13:52. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Все возможно. Но лично мне просто некогда писать код. Попробуй просто проанализировать код (он достаточно простой) и снять создание "подстилей"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Приветствую всех заинтересованых!
А никто не сделал прогу для создания размерных стилей с диалоговым окном? Вобщем ищу такую прогу при активации которой, появляется диалоговое окно и в нем от конечного пользователя требуется всего навсего выбрать из списка размерных стилей необходимый ему, после чего стиль автоматом создается. Есстественно к каждому размерному стилю будут пояснения, для чего он используется и какие в кратце его параметры. Возможно ли это реализовать если еще не реализовано? Просто хочу сделать так чтоб в организации не было свободы творчества в этом направлении. Также есть вариант сделать тоже самое и для текстовых стилей, или вообще объединить все это в одну прогу. Можно конечно эту идею реализовать и посредством ToolPalettes (но DesignCenter прошу не предлагать)....... Вобщем мне интересно ваше мнение относительно данной темы. Целесообразно ли это? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Может, и целесообразно - в каждой избушке свои погремушки. А сделать-то несложно: формируешь dcl-окно (например), в котором заполняешь выпадающий список, прописываешь подробности обработки и вперед
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
В VBA будет легче создать форму. Но не создать размерный стиль.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Вот я о том же. Форму уже почти создал, точнее дизайн.... а не подскажите ссылкой где можно быстро почитать как реализовать это все?
Ответы на свои вопросы нашел в книге господина Полещука Последний раз редактировалось acyxou, 13.01.2009 в 19:01. |
|||
|
||||
CNC Регистрация: 07.07.2007
Israel
Сообщений: 302
|
Если ты незнаком пока с DCL, вот здесь есть функция, которая поможет тебе создать
выпадающее меню ты только должен заменить в ней аргументы "my function_1" "my function_2" и т.д. на имена вызывземых слоев, и соответственно в теле функции c:mymenu в функции cond заменить функцию (alert "Start my function_1")(alert "Start my function_2") и т.д. Вызов функции команда mymenu |
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
acyxou, у меня сделано так:
Есть текстовый файл, наподобие ini-файла, в котором содержатся данные по всем нужным мне размерным стилям (он может создаваться в том числе и программно). Есть программа, которая создаёт все размерные стили, согласно этого файла. Далее принцип такой: Например мне нужен какой-либо размерный стиль. Нажимаю кнопку - создаются все размерные стили, согласно этого ini-файла. Нужный стиль ставлю текущим. Далее _PURGE. Если интересно, то могу выложить код, только предупреждаю заранее, что на высокий стиль программирования я не претендую. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
А зачем создавать все размерные стили, если можно создавать только выбранный?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Эээээ... Это как? Создавать несколько размерных стилей, потом установить нужный стиль текущим. Как выбрать нужный программно?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Соглашусь с Алексеем! Makswell, я делаю это все не для себя, а для людей, которым лишние телодвижения (purge например) крайне нежелательны. Поддерживаю идею с отдельным .ini файлом, в котором будут размещаться параметры стилей. К тому же, я думаю переназначить команды (redefine) _STYLE и _DIMSTYLE чтоб при нажатии на эти кнопки выскакивало диалоговое окно моей программы со списками размерных и текстовых стилей. Вобщем пресечь свободу творчества в этом направлении. Знаю, жестоко, но зато будет порядок в организации и в конце концов, думаю что народ меня поддержит.... Кто что думает?
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Makswell, перед установкой стиль должен быть создан, ведь верно? Создается он программно, потом _purge, при котором твой созданный (и нужный) стиль благополучно сносится Говорю на основе #69.
acyxou, а потом найдется один крендель, который вызовет _.style и твое переопределение накрывается медным тазом. Дырявым
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Ну я только порадуюсь за этого кренделя что он может работать с командной строкой К каждому файлу будет применяться стандарт, в котором будут регламентироваться текстовые и размерные стили и если чертеж стандарту не соответствует, то оптравится на доработку. Зачем кренделю что-то самому создавать если он может ко мне подойти и предложить какую-то свою идею и я учту его замечания и дополню прогу. Идея вообще не в том, чтоб запретить людям пользоваться командами _Dimstyle и _Style, а чтоб унифицировать чертежи и упростить работу инженера. С учетом специфики работы в моей организации считаю данную идею вполне приемлимой.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
А не проще тогда использовать dws с автоматическим обновлением из файла стандарта?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Цитата:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
А командный реактор не проще было сделать?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Цитата:
Чтобы не разводить посты напишу поподробней. Раньше было так. У меня был шаблон, в котором были все слои, стили и т.п. При PURGE всё это (в смысле, многое) пропадало. Способов вернуть какой-нибудь слой или стиль множество. Самое простое - это например по-быстрому создать новый файл, нарисовать том что-нибудь, присвоить этому слой-стиль , а потом скопировать в целевой файл. Или например вставлять блок с палитры инструментров, а потом удалять. А в блок запихнуть все слои и стили. Но всё это не так быстро, не так удобно и не красиво. Я сделал примерно также, как в варианте с блоком, только программно. И создаётся не всё скопом, а отдельно кнопка на стили, кнопка на слои и т.п. Кстати, со слоям работа идёт по такому же принципу. Ну и насчет "PURGE тоже руками" вообще-то у меня это типа superpurge - тоже одна кнопка, одно движение. Чистит помимо стандартного ещё много чего, типа пустых текстов, списка масштабов и прочей ерунды. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Offtop: Сейчас как раз с аналогичной задачей воюю.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 12.07.2008
Сообщений: 211
|
Holon, спасибо за ссылку, но там все на каком-то языке, которым я не владею Я так понял что прога, которая там опубликована, открывает диалоговое окно и просит выбрать что-то. В моем случае пусть это будет список размерных стилей. Я выбираю нужный мне, и потом этот стиль создается... Я правильно понял?
|
|||
|
||||
инженер Регистрация: 11.11.2009
Иркутск
Сообщений: 15
|
acyxou, как у вас дела? Создали ли вы "прогу при активации которой, появляется диалоговое окно и в нем от конечного пользователя требуется всего навсего выбрать из списка размерных стилей необходимый ему, после чего стиль автоматом создается. Есстественно к каждому размерному стилю будут пояснения, для чего он используется и какие в кратце его параметры" ?
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Предлагаю свой набор стилей.
Частенько работа начинается с "голых" dxf файлов... одним нажатием получаю все что может приготится, лишенее _-purge... В коллекции есть стили для планов масштаба 1:500 1:1000 1:2000 (рисование в модели 1000 масштаба) и различные масштабные стили для листов. Также отрисовывается блок _ArchTick когда его нет в чертеже Код:
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
|
||||
Цитата:
А это есть зло: Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 08.04.2013 в 13:06. |
||||