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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Копирование, сортировка, переименование листов (layout)

LISP. Копирование, сортировка, переименование листов (layout)

Ответ
Поиск в этой теме
Непрочитано 02.05.2008, 12:26 4 |
LISP. Копирование, сортировка, переименование листов (layout)
VVA
 
Инженер LISP
 
Минск
Регистрация: 11.05.2005
Сообщений: 6,990

По мотивам http://dwg.ru/f/showthread.php?t=19936
Команды
  • LTINC - Копирование содержимого листа с увеличением его порядкового номера (Increment current layout including letters) Drawing_A -> Drawing_B
  • LTINCN - Копирование содержимого листа с увеличением его порядкового ЦИФРОВОГО номера (Increment DIGITAL number current layout) Drawing_A -> Drawing_A-1
  • LTREN - Переименование выбранных листов (Rename selected layout)
  • LTRENN - Переименование выбранных листов с увеличением его ЦИФРОВОГО номера (Rename selected layout and increment its DIGITAL number)
  • LTSORTN - Сортировка листов в порядке возрастания цифры как числа (L1 L2 L3 L22) [Layout sort as numeric (L1 L2 L3 L22)]
  • LTSORTA - Сортировка листов в порядке возрастания по алфавиту (L1 L2 L22 L3) [Layout sort as alphabetic (L1 L2 L22 L3)]
  • LS - Переключение на нужный лист (Layout switch)
  • LTRS - Переименование листов с последующей сортировкой. (Rename and sort as numeric) LTREN + LTSORTN
Иконки и меню смотрим в#10 и в #73

PS. Похожая программа от Lee Mac TabSort
PPS. Во вложении переведенный на русский TabSort от Lee Mac

Вложения
Тип файла: zip TabSort_ru 2.2.zip (10.7 Кб, 1344 просмотров)
Тип файла: lsp layout2013.lsp (31.2 Кб, 455 просмотров)

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

Последний раз редактировалось VVA, 23.03.2022 в 18:02. Причина: Перезалил
Просмотров: 61375
 
Непрочитано 04.10.2008, 20:26
#61
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, спасибо! не обратил внимание!
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 02.12.2009, 18:46
#62
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, нашел баг, связанный с первым листом, при работе лиспа, прикалдываю видеоролик:
Вложения
Тип файла: rar Untitled.rar (195.5 Кб, 166 просмотров)
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 22.06.2012, 13:50
#63
Konstruktiv54


 
Регистрация: 31.01.2007
Новосибирск
Сообщений: 1,040
<phrase 1=


Интересно, а с помощью этих инструментов можно так сделать, что бы листы 1а, 2а, 3а, 1b, 2b, 3b расположить как 1a, 1b, 2a, 2b, 3a, 3b.
Или подскажите, что надо поправить в скрипте, что бы при переименовании листов, порядковый номер изменялся не на +1, а на +2 )
Konstruktiv54 вне форума  
 
Автор темы   Непрочитано 22.06.2012, 23:35
#64
VVA

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


ShaRhaN, А попробовать? По моему и LTSORTN и LTSORTA должны так сделать
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 23.06.2012, 07:17
#65
Konstruktiv54


 
Регистрация: 31.01.2007
Новосибирск
Сообщений: 1,040
<phrase 1=


ВВА, разумеется пробовал )) бился очень долго, не смог придумать...как только не придумывал переименовать, что бы отсортировать ) у меня не получилось, поэтому и обратился на форум...в остальном лиспом пользуюсь очень давно, всегда радует меня )
Вот если бы так можно было...
Есть листы: 1,2,3...
Применяем команду ltren2, указываем лист, с которого надо начать: 1
Получаем листы: 1,3,5...

Последний раз редактировалось Konstruktiv54, 23.06.2012 в 07:23.
Konstruktiv54 вне форума  
 
Автор темы   Непрочитано 23.06.2012, 22:06
#66
VVA

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


ShaRhaN, После отпуска гляну. Добавил в #1 ссылку на программу от Lee Mac Попробуй, может подойдет
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 25.06.2012, 05:35
#67
Konstruktiv54


 
Регистрация: 31.01.2007
Новосибирск
Сообщений: 1,040
<phrase 1=


спасиб! гляну )
Konstruktiv54 вне форума  
 
Автор темы   Непрочитано 17.10.2012, 19:02
#68
VVA

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


Добавил к первому посту переведенную на русский версию Tabsort от Lee Mac
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 30.05.2013, 16:13
#69
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


VVA,
при применении LTREN на 2013х64 программа зависает.
Red Nova вне форума  
 
Автор темы   Непрочитано 31.05.2013, 12:50
#70
VVA

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


Red Nova, Спасибо за дефектацию. Пока нет времени. За мной долг с темы АВТО Заполнение ведомости рабочих чертежей. Напомни мне еще про это числа 17 июня. Попробуй tabsort с #1. Может не будет зависать
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 18.06.2013, 08:16
#71
MeshIN

Изыскания и САПР
 
Регистрация: 05.07.2008
Ижевск
Сообщений: 297


VVA, зависает программа при сортировке листов, автокад 2013
MeshIN вне форума  
 
Автор темы   Непрочитано 18.06.2013, 20:35
#72
VVA

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


MeshIN, Проверил. Win7 x64 Acad2013x64 SP2 LTSORTN и LTSORTA работают. Выкладывай более подробную информацию вместе с файлом
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 13.07.2013, 11:00
#73
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


VVA, Попробуй применить LTINC к листу с названием к примеру h или x на 2013x64. Акад либо зависнет окончательно либо задумается ну очень надолго. При этом листы с номерными названиями или заканчивающиеся на цифру (к примеру 1, 2, 3, x1, x2, x3) не вызывают сбоя. Возможно зависание при LTREN (которое тоже не на каждом файле возникает) имеет схожую причину.

P.S. По моему раньше не выкладывал. Прикрепляю менюшку с иконками для layout команд + vrc. У меня стоит вот уже на которой версии акада. Может кому еще пригодится...
Вложения
Тип файла: rar Layout.rar (58.4 Кб, 222 просмотров)

Последний раз редактировалось Red Nova, 16.07.2013 в 12:31.
Red Nova вне форума  
 
Автор темы   Непрочитано 17.07.2013, 19:19
#74
VVA

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


Red Nova, Попробовал. Все нормально. После x появляется y, после h - i. На всякий случай перезалил в #1 тот лисп, на котором тестировал.

Цитата:
Сообщение от Red Nova Посмотреть сообщение
P.S. По моему раньше не выкладывал.
Это не тоже самое? http://forum.dwg.ru/showthread.php?p=239007#post239007
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 19.07.2013, 17:19
#75
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


VVA,
Цитата:
Попробовал. Все нормально. После x появляется y, после h - i. На всякий случай перезалил в #1 тот лисп, на котором тестировал.
Потыкал, оказалось что у меня в macro вместо ^C^C_ltinc почему-то ^C^C_ltinc1. Теперь все исправилось. Странно что при ^C^C_ltinc1 программа вообще работала в каких то случаях. Наверное сам намудрил...

Цитата:
Это не тоже самое? http://forum.dwg.ru/showthread.php?p=239007#post239007
Все верно. Что-то с памятью моей стало...
Red Nova вне форума  
 
Непрочитано 26.09.2013, 12:40
#76
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


VVA, Прошу проверить SHTUPDALL на 2013x64. У меня зависает. И действия аналогичные #75 не помогли.
При этом SHTUPD работает корректно.

Код:
[Выделить все]
 (defun C:SHTUPDALL ()(update-shtamp-block nil))
(defun C:SHTUPD ()(update-shtamp-block (getvar "CTAB")))
;; obj - Ename or Vla object of block
;; att_list - list ((Tag_Name1 . Value1)(Tag_Name2 . Value2) ...)
;; Tag_Name - string
;; Value - string

(defun mip-block-setattr-bylist (obj att_list / txt lst)(vl-load-com)
(if (= (type obj) 'ENAME)(setq obj (vlax-ename->vla-object obj)))
(setq att_list (mapcar '(lambda(x)(cons (strcase (mip-conv-to-str(car x)))(mip-conv-to-str(cdr x)))) att_list))
(if (and obj
(not(vlax-erased-p obj))
(= (vla-get-ObjectName obj) "AcDbBlockReference")
(eq :vlax-true (vla-get-HasAttributes obj))
(vlax-property-available-p obj 'Hasattributes)
(vlax-write-enabled-p obj)
)
(vl-catch-all-apply
(function
(lambda ()
(foreach at (vlax-invoke obj 'Getattributes)
(if (setq lst (assoc(strcase(vla-get-TagString at)) att_list))
(vla-put-TextString at (cdr lst))
)
)
)
)
)
)
)
(defun mip-conv-to-str (dat)
(cond ((= (type dat) 'INT)(setq dat (itoa dat)))
((= (type dat) 'REAL)(setq dat (rtos dat 2 12)))
((null dat)(setq dat ""))
(t (setq dat (vl-princ-to-string dat)))))
;;;csp - имя листа (getvar "CTAB")
;;; или nil - все листы
;;(setq csp (getvar "CTAB"))
(defun update-shtamp-block ( csp / ss i n Target-Tag-Name attValue ch )
(setq Target-Tag-Name "ЛИСТ") ;_ ТАГ (имя) атрибута блока
(if csp
(setq ss
(ssget "_X" (list
'(0 . "INSERT")
'(66 . 1)
(cons 410 csp)
)
)
)
(setq ss
(ssget "_X" (list
'(0 . "INSERT")
'(66 . 1)
)
)
)
)
(repeat (setq n (sslength ss)) ;_ end setq
(cdr(assoc 410(entget (setq item (ssname ss (setq n (1- n)))))))

(if (/= (setq attValue (cdr(assoc 410 (entget item)))) "Model" )
(progn
(setq i 0)
(while (or
(not(wcmatch (setq ch (substr attValue (setq i (1+ i)) 1)) "#"))
(= ch "")
)
)
(setq attValue (substr attValue i))
(mip-block-setattr-bylist item (list(cons Target-Tag-Name attValue)))
)
)
) ;_ end
)
Red Nova вне форума  
 
Непрочитано 18.04.2014, 16:05
#77
zz07


 
Регистрация: 01.07.2007
Москва
Сообщений: 26


Здравствуйте! Спасибо за лисп!
Можно ли как-то применить ваш лисп для автоматической нумерации в штампе?
Например имена layout'ов у меня "1", "2", "3", "4" и штампах листов стоят соответствующие номера листов. При удалении layout 2, перенумеровывая layout на "1", "2", "3" с помощью лиспа, чтобы номера в штампе соответственно изменились.
И еще, можно ли как-то в названии каждого листа зафиксировать собственный текст, а именно: Layout'ы называются "План л.1", "Разрез л.2", "Армирование л.3" и при удалении листа №2, чтобы было "План л.1", "Армирование л.2"

Последний раз редактировалось zz07, 18.04.2014 в 16:17.
zz07 вне форума  
 
Автор темы   Непрочитано 21.04.2014, 20:15
#78
VVA

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


Цитата:
Сообщение от zz07 Посмотреть сообщение
При удалении layout 2, перенумеровывая layout на "1", "2", "3" с помощью лиспа, чтобы номера в штампе соответственно изменились.
Вставь в штамп поле. Категория Прочее->Системная переменная->CTAB
Эта переменная ссылается на имя текущего листа
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 28.04.2014, 11:26
#79
Isuma

конструктор
 
Регистрация: 29.09.2008
Санкт-Петербург
Сообщений: 159
<phrase 1=


Товарищи, а на 2015 Acadе не работает?
эммм..работает. просто сразу не подгрузился, почему-то
__________________
Идеал оптимизации - это когда жмёшь куда попало, а получаешь то, что нужно.

Последний раз редактировалось Isuma, 28.04.2014 в 11:28. Причина: Подождал
Isuma вне форума  
 
Непрочитано 29.05.2014, 23:17
#80
zz07


 
Регистрация: 01.07.2007
Москва
Сообщений: 26


Цитата:
Сообщение от VVA Посмотреть сообщение
Категория Прочее->Системная переменная->CTAB
У меня эта переменная ссылается на текст который написан в имени layout. Т.е. у меня написано "лист 2" и поле выводит "лист 2", а не просто номер.
zz07 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Копирование, сортировка, переименование листов (layout)

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

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