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

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

Программное создание размерных стилей

Ответ
Поиск в этой теме
Непрочитано 12.09.2005, 09:04
Программное создание размерных стилей
Кулик Алексей aka kpblc
Moderator
 
LISP, C# (ACAD 200[9,12,13,14])
 
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 40,404

Есть небольшая проблема: надо сделать размерный стиль, и внутри него дополнительные определения для размерных стилей на угловые размеры, радиусы и т.п. Через (tblobjname) получены списки настроек, имена, но сделать повторно через (entmake) - естественно, на новом файле, только имя стиля менял,- не получается - возвращается nil.
Я понимаю, что есть некоторые значения dxf-кодов, которые являются обязательными. Какие обязательные, какие нет, мне вычислить не удалось. Поэтому собственно вопрос(ы) - даю несколько, чтобы и мне было понятно, и сразу на ошибки указали:
1. Для задания кодов 5, 6 и 7 (соответствуют dimblk, dimblk1, dimblk2) требуется имя блока - как его получать / задавать? через tblobjname или assoc? Или проще сделать через (setvar)?
2. Для кодов 340, 341 (соответственно dimtxtsty, dimldrblk) требуются уже хэндлы блоков - а к ним как обращаться?
3. Для кодов 371, 372 (соответственно dimlwd, dimlwe) требуются lineweight enum value - а это что за чудо? Для значения "ByLayer" чего надо назначать? А для "ByBlock", 0.25 etc?
---
Идти через (setvar) в данном варианте у меня что-то не получается, подозреваю, что надо использовать ActiveX-функции, но там я как свинья в ананасах, хоть скажите, в какую сторону копать.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Просмотров: 32799
 
Непрочитано 13.11.2008, 09:40
#61
Джек

Строительство
 
Регистрация: 03.09.2003
Нижний Новгород
Сообщений: 81
<phrase 1=


А можно сделать размерный стиль без дополнительного определения для размерных стилей на угловые размеры, радиусы и т.п.?
Просто один размерный стиль!!!! Спасибо.

как я понимаю сделать это не возможно

Последний раз редактировалось Кулик Алексей aka kpblc, 17.11.2008 в 13:52.
Джек вне форума  
 
Автор темы   Непрочитано 17.11.2008, 13:52
#62
Кулик Алексей aka kpblc
Moderator

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


Все возможно. Но лично мне просто некогда писать код. Попробуй просто проанализировать код (он достаточно простой) и снять создание "подстилей"
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.01.2009, 16:30
#63
acyxou


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


Приветствую всех заинтересованых!
А никто не сделал прогу для создания размерных стилей с диалоговым окном? Вобщем ищу такую прогу при активации которой, появляется диалоговое окно и в нем от конечного пользователя требуется всего навсего выбрать из списка размерных стилей необходимый ему, после чего стиль автоматом создается. Есстественно к каждому размерному стилю будут пояснения, для чего он используется и какие в кратце его параметры. Возможно ли это реализовать если еще не реализовано? Просто хочу сделать так чтоб в организации не было свободы творчества в этом направлении. Также есть вариант сделать тоже самое и для текстовых стилей, или вообще объединить все это в одну прогу.
Можно конечно эту идею реализовать и посредством ToolPalettes (но DesignCenter прошу не предлагать).......
Вобщем мне интересно ваше мнение относительно данной темы. Целесообразно ли это?
acyxou вне форума  
 
Автор темы   Непрочитано 13.01.2009, 16:40
#64
Кулик Алексей aka kpblc
Moderator

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


Может, и целесообразно - в каждой избушке свои погремушки. А сделать-то несложно: формируешь dcl-окно (например), в котором заполняешь выпадающий список, прописываешь подробности обработки и вперед
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.01.2009, 16:44
#65
acyxou


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


Спасибо, Алексей.
Я с dcl еще не подружился.... а не легче ли это будет сделать посредством VBA, или VBA+Lisp?
acyxou вне форума  
 
Автор темы   Непрочитано 13.01.2009, 16:49
#66
Кулик Алексей aka kpblc
Moderator

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


В VBA будет легче создать форму. Но не создать размерный стиль.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.01.2009, 16:56
#67
acyxou


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


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

Ответы на свои вопросы нашел в книге господина Полещука

Последний раз редактировалось acyxou, 13.01.2009 в 19:01.
acyxou вне форума  
 
Непрочитано 14.01.2009, 08:54
#68
Holon

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
Holon вне форума  
 
Непрочитано 14.01.2009, 09:49
#69
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


acyxou, у меня сделано так:
Есть текстовый файл, наподобие ini-файла, в котором содержатся данные по всем нужным мне размерным стилям (он может создаваться в том числе и программно). Есть программа, которая создаёт все размерные стили, согласно этого файла.

Далее принцип такой:
Например мне нужен какой-либо размерный стиль. Нажимаю кнопку - создаются все размерные стили, согласно этого ini-файла. Нужный стиль ставлю текущим. Далее _PURGE.

Если интересно, то могу выложить код, только предупреждаю заранее, что на высокий стиль программирования я не претендую.
Makswell вне форума  
 
Автор темы   Непрочитано 14.01.2009, 09:57
#70
Кулик Алексей aka kpblc
Moderator

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


А зачем создавать все размерные стили, если можно создавать только выбранный?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.01.2009, 10:18
#71
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А зачем создавать все размерные стили, если можно создавать только выбранный?
Телодвижений меньше. И программирования. Без всяких предложений что выбрать, DCL и прочих различных диалогов.
Makswell вне форума  
 
Автор темы   Непрочитано 14.01.2009, 10:35
#72
Кулик Алексей aka kpblc
Moderator

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


Эээээ... Это как? Создавать несколько размерных стилей, потом установить нужный стиль текущим. Как выбрать нужный программно?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.01.2009, 10:37
#73
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Я написал "нужный стиль ставлю текущим". Ставлю я, а не программа.
Makswell вне форума  
 
Непрочитано 14.01.2009, 10:43
#74
acyxou


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


Соглашусь с Алексеем! Makswell, я делаю это все не для себя, а для людей, которым лишние телодвижения (purge например) крайне нежелательны. Поддерживаю идею с отдельным .ini файлом, в котором будут размещаться параметры стилей. К тому же, я думаю переназначить команды (redefine) _STYLE и _DIMSTYLE чтоб при нажатии на эти кнопки выскакивало диалоговое окно моей программы со списками размерных и текстовых стилей. Вобщем пресечь свободу творчества в этом направлении. Знаю, жестоко, но зато будет порядок в организации и в конце концов, думаю что народ меня поддержит.... Кто что думает?
acyxou вне форума  
 
Автор темы   Непрочитано 14.01.2009, 10:47
#75
Кулик Алексей aka kpblc
Moderator

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


Makswell, перед установкой стиль должен быть создан, ведь верно? Создается он программно, потом _purge, при котором твой созданный (и нужный) стиль благополучно сносится Говорю на основе #69.
acyxou, а потом найдется один крендель, который вызовет _.style и твое переопределение накрывается медным тазом. Дырявым
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.01.2009, 10:58
#76
acyxou


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


Ну я только порадуюсь за этого кренделя что он может работать с командной строкой К каждому файлу будет применяться стандарт, в котором будут регламентироваться текстовые и размерные стили и если чертеж стандарту не соответствует, то оптравится на доработку. Зачем кренделю что-то самому создавать если он может ко мне подойти и предложить какую-то свою идею и я учту его замечания и дополню прогу. Идея вообще не в том, чтоб запретить людям пользоваться командами _Dimstyle и _Style, а чтоб унифицировать чертежи и упростить работу инженера. С учетом специфики работы в моей организации считаю данную идею вполне приемлимой.
acyxou вне форума  
 
Автор темы   Непрочитано 14.01.2009, 11:01
#77
Кулик Алексей aka kpblc
Moderator

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


А не проще тогда использовать dws с автоматическим обновлением из файла стандарта?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.01.2009, 11:08
#78
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Makswell, перед установкой стиль должен быть создан, ведь верно? Создается он программно, потом _purge, при котором твой созданный (и нужный) стиль благополучно сносится Говорю на основе
Были аналогичные мысли. Undefine purge и переписал команды на закрытие - чистится все автоматом при закрытии с сохранением.
Sleekka вне форума  
 
Автор темы   Непрочитано 14.01.2009, 11:12
#79
Кулик Алексей aka kpblc
Moderator

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


А командный реактор не проще было сделать?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.01.2009, 11:13
#80
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Makswell, перед установкой стиль должен быть создан, ведь верно? Создается он программно, потом _purge, при котором твой созданный (и нужный) стиль благополучно сносится Говорю на основе #69.
Алексей, наверно ты просто недопонял. PURGE тоже руками. Причем необязательно сразу, можно например перед закрытием файла.

Чтобы не разводить посты напишу поподробней.

Раньше было так. У меня был шаблон, в котором были все слои, стили и т.п. При PURGE всё это (в смысле, многое) пропадало. Способов вернуть какой-нибудь слой или стиль множество. Самое простое - это например по-быстрому создать новый файл, нарисовать том что-нибудь, присвоить этому слой-стиль , а потом скопировать в целевой файл. Или например вставлять блок с палитры инструментров, а потом удалять. А в блок запихнуть все слои и стили. Но всё это не так быстро, не так удобно и не красиво.

Я сделал примерно также, как в варианте с блоком, только программно. И создаётся не всё скопом, а отдельно кнопка на стили, кнопка на слои и т.п. Кстати, со слоям работа идёт по такому же принципу.

Ну и насчет "PURGE тоже руками" вообще-то у меня это типа superpurge - тоже одна кнопка, одно движение. Чистит помимо стандартного ещё много чего, типа пустых текстов, списка масштабов и прочей ерунды.
Makswell вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное создание размерных стилей