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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Помогите поправить LISP.

Помогите поправить LISP.

Ответ
Поиск в этой теме
Непрочитано 16.09.2022, 06:36 #1
Помогите поправить LISP.
Jek30
 
Регистрация: 19.08.2022
Сообщений: 71

Есть LISP для распечатки нескольких чертежей одновременно из пространства ЛИСТ, автор не я. Суть данного LISP-а заключается в том, что форматные рамки чертежей созданы в особом слое, ты выделяешь все нужные чертежи рамкой, нажимаешь "Enter" и LISP сам находит эти форматные рамки в особом слое, потом они разом все распечатываются например в PDF файл. Только когда он распечатывает эти чертежи, то по нумерации чертежи стоят в разнобой, а не по порядку. Так вот и есть проблема: я в этом вообще не разбираюсь поэтому может ли кто-нибудь из добрых людей изменить код в этом LISP-е чтобы чертежи печатались в том порядке в каком они расположены в автокаде, т.е. в обычном порядке. А вообще, если это поможет, сейчас чертежи печатаются не совсем в разнобой в том порядке в котором были созданы эти рамки в особом слое - "Форматка" - но это вообще не удобно. Заранее спасибо!

Вложения
Тип файла: lsp asd32.lsp (2.3 Кб, 16 просмотров)

Просмотров: 3261
 
Непрочитано 20.09.2022, 15:30
#2
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


Тут сортировку нужно делать, а это лениво...

Просто замени строку:

(setq s1 (ssget (list (cons 8 "Форматка") (cons 0 "LWPOLYLINE") )))

на

(setq s1 (ssget))

и выбирай рамки не автоматически, а в нужном тебе порядке.
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 20.09.2022, 15:45
1 | #3
Composter

Отопление и вентиляция
 
Регистрация: 31.10.2008
Москва
Сообщений: 445


вроде как то так
в строке
Код:
[Выделить все]
 (setq s1 (mm_sort_smt (mm_get_left_corner s1)	1	))
можно менять на 1 / 2 / 3 / 4 . будет разная сортировка слева направо сверху вниз в различных сочетаниях
Вложения
Тип файла: lsp asd32.lsp (3.6 Кб, 9 просмотров)
Composter вне форума  
 
Непрочитано 20.09.2022, 17:31
#4
Composter

Отопление и вентиляция
 
Регистрация: 31.10.2008
Москва
Сообщений: 445


кстати вот например есть https://forum.dwg.ru/showthread.php?t=124456&page=3
Composter вне форума  
 
Автор темы   Непрочитано 21.09.2022, 06:29
#5
Jek30


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


===AAA===,
А раньше тоже можно было так делать: в каком порядке выбираешь рамки в таком они и печатаются. А хотелось бы чтоб разом взял и выделил рамкой все чер тежи за раз а они и распечатались сразу все в нормальном порядке. Но твой код тоже рабочий , и за это спасибо!

----- добавлено через ~4 мин. -----
Composter,
Что то я попробовал этот новый лисп в твоем вложении, почему-то все равно в разнобой печатает, но порядок изменился, я так прикинул, они стали печататься просто в обратном порядке. Частично это решает проблему, но только если рамки в слое "форматка" были созданы строго по порядку.

Последний раз редактировалось Jek30, 21.09.2022 в 06:41.
Jek30 вне форума  
 
Непрочитано 21.09.2022, 10:25
#6
Composter

Отопление и вентиляция
 
Регистрация: 31.10.2008
Москва
Сообщений: 445


ну так я же написал что можно изменить в строчку цифру 1 на 2 , 3 или 4 и будетв разном порядке печататься.
Composter вне форума  
 
Автор темы   Непрочитано 21.09.2022, 11:40
#7
Jek30


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


Composter,

Короче оно все равно печатает в разном порядке в зависимости от того какую я цифру поставлю, перепробовал их все, и остальные цифры тоже, и даже "37"... но листы когда я отправляю в многостраничный ПДФ, то они все равно распечатываются не в нормальном порядке. Да, они печатаются либо по убыванию, либо по возрастанию. Но очередность этого порядка не такая как они расположены в автокаде в ряд (с первого по последний), а такая с какой я создавал эти рамки в слое "Форматка"(например я создал сначала третий лист проекта в этой рамке "Форматка", потом 5, потом 4, потом 6, потом7, потом1, потом 2, потом титульник, потом последний лист спецификацию). Так вот оно и печатается в этом же самом порядке только:
либо по возрастанию: 3,5,4,6,7,1,2,титульник, спецификация;
либо по убыванию: спецификация, титульник,2,1,7,6,4,5,3
А нужно чтобы печаталось в правильном порядке т.е. как они расположены в автокаде в один ряд: титульник,1,2,3,4,5,6,7, спецификация

Из-за чего так, я не знаю.
Jek30 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Помогите поправить LISP.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите поправить Lisp kegorovsc LISP 3 21.02.2020 19:12
Помогите подредактировать программный код в LISP Alina7142 LISP 8 27.01.2020 11:32
Знатоки Lisp, помогите найти середину сегмента сплайна. iskatel111 Программирование 32 14.12.2018 13:02
LISP помогите разобраться. Elenaka LISP 5 20.10.2006 18:15
Помогите отладить lisp программу Мишаня LISP 7 31.07.2006 12:54