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

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

Ищу программу для расстановки в автокаде блоков вдоль полилинии

Ответ
Поиск в этой теме
Непрочитано 07.02.2018, 15:37
Ищу программу для расстановки в автокаде блоков вдоль полилинии
MSWAN
 
Регистрация: 07.02.2018
Сообщений: 6

Добрый день!
Задача такая - нужно расставить в атокаде блоки вдоль полилинии, расстояния между блоками различные и импортируются из таблицы excel. В жизни это выглядит так: у меня есть журнал расстановки опор, т.е. список пролетов между опорами, и есть трасса, полилиния в автокаде. Хочу автоматизировать процесс переноса опор с профиля на план. Через поиск решение своей задачи не нашел. Буду признателен за помощь!
Просмотров: 11088
 
Непрочитано 02.03.2018, 14:16
#21
Scared


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


Цитата:
Сообщение от koMon Посмотреть сообщение
Пока товарищ нормоконтролёр находится в состоянии ожидания перспективного приходящего проекта, а его со-товарищ барон Мюнхаузен мечется по микрокосму всемирной паутины в поисках требуемого IP-адреса, восседая на электроне, я произвёл корректировку макроса, который теперь сможет экспортировать дистанции точек вставки блоков, находящихся на полилинии.
Чет не пашет у меня код из #20
Команда же должна быть Block_Along_PLine?
Scared вне форума  
 
Непрочитано 02.03.2018, 18:02
#22
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от Scared Посмотреть сообщение
Команда же должна быть Block_Along_PLine?
Ну да. И чего говорит?
koMon вне форума  
 
Непрочитано 05.03.2018, 17:41
#23
Scared


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


Цитата:
Сообщение от koMon Посмотреть сообщение
Ну да. И чего говорит?
Грит, неизвестная команда
Может я конечно код скопировал криво а у кого-то работает последний вариант?
Scared вне форума  
 
Непрочитано 05.03.2018, 18:01
#24
VVA

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


Цитата:
Сообщение от Scared Посмотреть сообщение
Может я конечно код скопировал криво
Похоже на то. У меня работает
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 05.03.2018, 20:59
#25
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от Scared Посмотреть сообщение
Может я конечно код скопировал криво
По ходу надо завязывать с красивостью и тупо пристёгивать файл...
Да, и у меня тоже работает))) Но нюансы конечно же остались.

Последний раз редактировалось koMon, 05.03.2018 в 21:22.
koMon вне форума  
 
Непрочитано 07.03.2018, 09:51
#26
Scared


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


Со второго раза запустился. Теперь другая проблема.
Файл с дорогой и опорами во вложении. При первом запуске приложения сформировалась такая табличка.
Иероглифы в заголовке в принципе не так уж страшно - есть расшифровка ) но почему-то посчитались только две опоры, хотя их на самом деле куда больше.
И еще, при попытке запустить приложение повторно - запрашивается имя файла с координатами, хотя я выбираю полилинию
Миниатюры
Нажмите на изображение для увеличения
Название: Таблица.jpg
Просмотров: 42
Размер:	24.9 Кб
ID:	199954  
Вложения
Тип файла: dwg
DWG 2010
Ось дороги.dwg (65.8 Кб, 11 просмотров)
Scared вне форума  
 
Непрочитано 07.03.2018, 12:31
#27
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от Scared Посмотреть сообщение
Иероглифы в заголовке
Иероглифы скорее всего побочный эффект копи-паста. Вкладываю лисп.

Сделал в файле из #26 3 запуска. PDF файл со скриншотами вкладываю.

Запуск 1. Выбираю полилинию, генерится csv, открываю csv.
Запуск 2. Выбираю полилинию, предлагается переписать csv, переписываю csv, открываю csv.
Запуск 3. Стираю всё, кроме полилинии, выбираю полилинию, предлагается выбрать файл для чтения, выбираю csv, проставляются блоки. Блок с относительной дистанцией 0 игнорируется.
Вложения
Тип файла: pdf Запуски 1-3.pdf (1.34 Мб, 58 просмотров)
Тип файла: lsp Block_Along_PLine_2.lsp (20.5 Кб, 43 просмотров)

Последний раз редактировалось koMon, 21.03.2018 в 17:14.
koMon вне форума  
 
Непрочитано 12.03.2018, 10:37
#28
Scared


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


Цитата:
Сообщение от koMon Посмотреть сообщение
Сделал в файле из #26 3 запуска. PDF файл со скриншотами вкладываю.
Запуск 1. Выбираю полилинию, генерится csv, открываю csv.
У меня заработало только после того, как сначала считал данные из файла, а потом уже полученные блоки заново расставил.
Scared вне форума  
 
Непрочитано 12.03.2018, 10:41
#29
Scared


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


Вот еще какой глюк.
Почему-то упорно игнорит опору №3. Пробовал её подвигать, ставил на оси дороге, в стороне - так и не понял логики
Вложения
Тип файла: dwg
DWG 2010
Ось дороги2.dwg (55.5 Кб, 16 просмотров)
Тип файла: xls 1.xls (27.0 Кб, 6 просмотров)
Scared вне форума  
 
Непрочитано 12.03.2018, 15:40
#30
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Чудеса!) У меня из дороги_2 файл сгенерился полностью, включая блок 3.

Попробуйте проверить командой CIP из кода ниже пересечение полилинии и блока №3.

(defun c:CIP()
(setvar "pdmode" 3)
(setvar "pdsize" 100)
(setq pline_object (vlax-ename->vla-object (car (entsel "\nSelect Target PLine: "))))
(while t
(setq block_object (vlax-ename->vla-object (car (entsel "\nSelect Block to Test: ")))
vla_method_executed (vla-GetBoundingBox block_object 'left_lower_corner 'right_upper_corner)
command_executed (command "rectang" "_non" (vlax-safearray->list left_lower_corner) "_non" (vlax-safearray->list right_upper_corner))
intersection_Points_array (vl-catch-all-apply 'vla-IntersectWith (list pline_object block_object acExtendNone))
)
(if (or
(= (type intersection_Points_array) 'VL-CATCH-ALL-APPLY-ERROR)
(< (setq intersections_number (vlax-safearray-get-u-bound (vlax-variant-value intersection_Points_array) 1)) 0)
)
(print "Selected Block Does Not Intersect with PLine")
(progn
(print "Selected Block Intersects with PLine")
(setq intersection_points_coordinates_list (vlax-safearray->list (vlax-variant-value intersection_Points_array)))
(repeat (/ (1+ intersections_number) 2)
(command "point" "_non" (list (car intersection_points_coordinates_list) (cadr intersection_points_coordinates_list)))
(setq intersection_points_coordinates_list (cdddr intersection_points_coordinates_list))
(print intersections_number)
)
)
)
)
)

инересно пересекаются они у вас или как?
Миниатюры
Нажмите на изображение для увеличения
Название: Дорога_2.jpg
Просмотров: 40
Размер:	241.0 Кб
ID:	200074  

Последний раз редактировалось koMon, 12.03.2018 в 15:46.
koMon вне форума  
 
Непрочитано 14.03.2018, 11:52
#31
Scared


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


Цитата:
Сообщение от koMon Посмотреть сообщение
инересно пересекаются они у вас или как?
Приложуха CIP пишет, что нет.
Хотя визуально совпадают. Собственно, и расставлял блоки обычным копированием с привязкой.

А сравнение идет по 3м координатам или по 2м?
Scared вне форума  
 
Непрочитано 14.03.2018, 15:46
#32
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от Scared Посмотреть сообщение
А сравнение идет по 3м координатам или по 2м?
Проверяется пересечение полилинии и габаритного прямоугольника блока. Они должны быть в одной плоскости. Но в дороге 2 видно, что они в одной плоскости. Ерунда какая-то…

----- добавлено через ~1 ч. -----
Цитата:
Сообщение от VVA Посмотреть сообщение
Похоже на то. У меня работает
VVA, а у тебя генериться блок 3 для дороги 2 из #29?
Миниатюры
Нажмите на изображение для увеличения
Название: pline.jpg
Просмотров: 43
Размер:	311.7 Кб
ID:	200133  Нажмите на изображение для увеличения
Название: block_3.jpg
Просмотров: 35
Размер:	313.3 Кб
ID:	200134  

Последний раз редактировалось koMon, 14.03.2018 в 16:20.
koMon вне форума  
 
Непрочитано 16.03.2018, 22:29
#33
VVA

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


koMon, нет
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 20.03.2018, 17:37
#34
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Цитата:
Сообщение от VVA Посмотреть сообщение
koMon, нет
Однако!?

Всегда скептически относился к вопросам о версии автокада и установленных апдейтах, но не в этом случае. Другого ничего не приходит в голову.
VVA, ты как думаешь, в чём засада?

У меня всё пересекается и выводится…
Миниатюры
Нажмите на изображение для увеличения
Название: B3.gif
Просмотров: 29
Размер:	486.1 Кб
ID:	200346  
koMon вне форума  
 
Непрочитано 20.03.2018, 18:29
#35
VVA

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


koMon, CIP у меня отрабатывает
Вопрос был
Цитата:
Сообщение от koMon Посмотреть сообщение
VVA, а у тебя генериться блок 3 для дороги 2 из #29?
Опора 3 пропускается
Миниатюры
Нажмите на изображение для увеличения
Название: 321.png
Просмотров: 29
Размер:	26.3 Кб
ID:	200353  
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.03.2018, 17:13
#36
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


VVA, это верно. Впрос был именно таким)
Я добавил в код #27 для отладки вывод списков. Не попробуешь с принтскрином что у тебя выводится?
У меня получается так.
Миниатюры
Нажмите на изображение для увеличения
Название: B3F.jpg
Просмотров: 44
Размер:	255.6 Кб
ID:	200425  

Последний раз редактировалось koMon, 21.03.2018 в 17:48.
koMon вне форума  
 
Непрочитано 23.03.2018, 09:06
#37
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665


Scared, видимо VVA занят. Ты можешь сделать то, что я прошу выше?
koMon вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Ищу программу для расстановки в автокаде блоков вдоль полилинии

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли в Автокаде 2014 в свойствах полилинии сделать площадь в квадратных метрах? erikbond AutoCAD 13 13.04.2016 19:07
Как преобразовать модель автомобиля, из блоков, линий, 3d линий, полилиний... Legion AutoCAD 11 29.08.2015 13:33
в автокаде редактор блоков не закрывается, но выдает себя за основной файл SitchAzamat AutoCAD 3 18.09.2012 16:49
Поворот блоков вдоль полилинии, сплайна Victor Готовые программы 3 19.02.2012 22:12
ищу функцию построения 3d полилинии mankurt Программирование 8 07.02.2012 12:43