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

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

Сквозная нумерация динамических блоков

Ответ
Поиск в этой теме
Непрочитано 18.09.2007, 17:45
Сквозная нумерация динамических блоков
zenon
 
Остекляем!!! Алюминим!!!
 
Москва
Регистрация: 21.02.2005
Сообщений: 3,825

Назрело!
В связи с введением динамических блоков начиная с AutoCAD2006, по роду моей деятельности появилась возможность рисовать монтажную схему стоек с указание ее длины в аттрибуте, с автоматическим изменением аттрибута в зависимости от удлинения стойки.
Поэтому назрел вопрос о сквозной нумерации, то бищь присвоении 2му аттрибуту номера стойки в зависимости от ее длины.
см. чертеж
[ATTACH]1190123036.dwg[/ATTACH]
Можно ли расстановку позиций реализовать программно?
ps предварительно расставив стойки.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
Просмотров: 88292
 
Непрочитано 08.12.2011, 19:16
#181
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


vporsh, Файл покажи
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 08.12.2011, 19:54
#182
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


VVA работает. «Округление», как количество знаков после запятой добавлять не надо, это я сам запутался. Тестирую дальше.
Alex_80 вне форума  
 
Непрочитано 08.12.2011, 21:54
#183
vporsh


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


программа не спрашивает какие динамические свойства считывать и в какой атрибут записывать
спрашивает суф., преф., с какого начинать нумерацию, выделить объекты
как настроить ?
в лиспе дилетант
строчки. выделенные красным скопировал с заменой в программу на место похожих
__________________
я Конструктор - вот Чертеж
ACAD 2011 eng 32
vporsh вне форума  
 
Непрочитано 09.12.2011, 07:42
#184
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


Цитата:
Сообщение от vporsh Посмотреть сообщение
в лиспе дилетант
строчки. выделенные красным скопировал с заменой в программу на место похожих
Там лисп знать не надо, спасибо VVA. Настройки выделены красным для того, чтоб мы знали, где нужно подправить исходные данные, ничего копировать не надо, каждая строка настройки закомментирована, ошибиться не реально. Есть ещё шаблон имен обрабатываемых блоков, смотри пост #136.
Alex_80 вне форума  
 
Непрочитано 09.12.2011, 11:46
#185
vporsh


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


Можно написать так?
(vl-load-com)
(setq bname "*") ;_Имя блока
(setq dynProp1 "*") ;_Имя динамического свойства1
(setq dynProp2 "*") ;_Имя динамического свойства1
(setq attTo "NAME") ;_Имя аттрибута куда вбивать
(or (numberp *STARTPOZ*)(setq *STARTPOZ* 1)) ;;; Стартовая нумерация

или в setq dynProp1 надо вписать ручками например "LI" главное, чтобы это L1 была в блоке
и т.д.

Файл вложить не получается с компа
__________________
я Конструктор - вот Чертеж
ACAD 2011 eng 32
vporsh вне форума  
 
Непрочитано 09.12.2011, 12:04
#186
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Выложи на файлообменник и дай здесь ссылку. можешь на avral.ru
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 09.12.2011, 12:42
#187
vporsh


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


http://files.mail.ru/SXPODJ
__________________
я Конструктор - вот Чертеж
ACAD 2011 eng 32
vporsh вне форума  
 
Непрочитано 09.12.2011, 13:02
1 | #188
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


vporsh,
Код:
[Выделить все]
  (setq bname "*") ;_Имя блока 
  (setq dynProp1 "Distance1") ;_Имя динамического свойства1
  (setq dynProp2 "Distance2") ;_Имя динамического свойства1
  (setq attTo "NAME") ;_Имя аттрибута куда вбивать
Постарался нарисовать. Надеюсь получилось понятно

__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 09.12.2011 в 15:18.
VVA вне форума  
 
Непрочитано 09.12.2011, 13:06
#189
vporsh


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


картинка не читабельна к сожалению
как ее увеличить без потери качества?
__________________
я Конструктор - вот Чертеж
ACAD 2011 eng 32
vporsh вне форума  
 
Непрочитано 09.12.2011, 15:14
#190
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Это картинка из #163. Посмотри там
***Добавлено***
Изменил немного масштаб изображение
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 09.12.2011, 15:49
#191
vporsh


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


Да спасибо огромное, теперь все видно хорошо
Все работает, програмуля радует.Спасибо
Я так понимаю - для того чтобы перестроить програмку нада перегрузить акад
например нумерация блоков, начинающихся с буквы S
потом перегружаем акад и нумеруем все блоки, начинающиеся на букву К, преварительно подредактировав ndb.lsp
и т.д.
эх, хорошо-бы чтобы спрашивала не только суф, преф, округл, но и какие блоки и все остальное
или можно как-то обновлять энтот .lsp, не выходя из акада?
__________________
я Конструктор - вот Чертеж
ACAD 2011 eng 32
vporsh вне форума  
 
Непрочитано 09.12.2011, 16:32
1 | #192
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от vporsh Посмотреть сообщение
или можно как-то обновлять энтот .lsp, не выходя из акада?

_APPLOAD

Цитата:
Сообщение от vporsh Посмотреть сообщение
но и какие блоки и все остальное
подумаю
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 10.12.2011, 08:29
#193
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


Вырисовывается второй вариант.
Сделать для всех настраиваемых данных (имена динамических свойств; суффикс; префикс; округление; выбор блоков по имени или маске; мышкой или _all; номер позиции) ввод с клавиатуры.
После этого можно будет создать в acade панель с кнопками, имеющие различные наборы настраиваемых данных для разных блоков. Таким образом не усложняя кода, добьёмся универсальности.
Как идея?
Alex_80 вне форума  
 
Непрочитано 31.01.2012, 10:51
#194
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


Привет всем!
VVA так можно задавать параметры или могут возникнуть ошибки?
(setq bname ( GETSTRING "\n_Имя блока:" ))
(setq dynProp1 ( GETSTRING "\n_Имя динамического свойства1:" ))
(setq dynProp2 ( GETSTRING "\n_Имя динамического свойства2:" ))
Вот макрос кнопки для блока Кассета:
^C^C_NDB;Кассета;Ширина(B);Высота(H);Кассета-; ;;1;_all;;
Настройка через макрос кнопки. Вроде все работает.
;;;=====01.12.2012
Исправил на:
(setq bname ( GETSTRING T "\nИмя блока:" ))
(setq dynProp1 ( GETSTRING T "\nИмя динамического свойства 1:"))
(setq dynProp2 ( GETSTRING T "\nИмя динамического свойства 2:"))
Имена динамических свойств блока сделал одним словом.
^C^C_NDB;Кассета;Ширина;Высота;Кассета-; ;;1;_all;;
Вложения
Тип файла: dwg
DWG 2007
ТЗ.dwg (114.2 Кб, 1644 просмотров)
Тип файла: lsp NDB010212.lsp (12.3 Кб, 68 просмотров)

Последний раз редактировалось Alex_80, 01.02.2012 в 07:46.
Alex_80 вне форума  
 
Непрочитано 31.01.2012, 14:12
1 | #195
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Alex_80, Можно. Если использовать макрос, то название дин. свойств лучше задавать одним словом (без пробелов и желательно прочих спецсимволов вроде #^ и т.п.)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 31.01.2012, 14:16
1 | #196
Кулик Алексей aka kpblc
Moderator

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


А если заменить строку (getstring "\nБла-бла-бла") на (getstring t "\nБла-бла-бла") - то и пробелы можно будет использовать
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 31.01.2012, 16:23
1 | #197
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А если заменить строку (getstring "\nБла-бла-бла") на (getstring t "\nБла-бла-бла") - то и пробелы можно будет использовать
Передать имена свойств с пробелами для запроса из макроса все равно будет проблематично. Нужно будет использовать что-то типа strcat, chr
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.04.2012, 07:39
#198
Alex_80

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


Добрый день. Как добавить возможность выбора имен (имени) блоков мышкой?
Alex_80 вне форума  
 
Непрочитано 05.04.2012, 08:24
#199
Кулик Алексей aka kpblc
Moderator

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


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

ПГС
 
Регистрация: 24.11.2011
Сообщений: 31


В лиспе NDB есть (setq bname ( GETSTRING T "\nИмя блока:" )). Как добавить возможность выбора имен (имени) блоков мышкой?
Alex_80 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Сквозная нумерация динамических блоков

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск