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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Графическое отображение типов линий в .DCL

Графическое отображение типов линий в .DCL

Ответ
Поиск в этой теме
Непрочитано 11.02.2019, 12:41 #1
Графическое отображение типов линий в .DCL
tujn08
 
Регистрация: 26.12.2013
Сообщений: 284

Приветствую!
Возможно ли в диалоге .DCL создать список с графическим отображением по примеру "элемента управления типом линии"? - без использования слайдов
Просмотров: 2050
 
Непрочитано 11.02.2019, 12:49
#2
Кулик Алексей aka kpblc
Moderator

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


По-моему, невозможно. Ну или напрямую в image выполнять рисование...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 11.02.2019, 13:00
#3
tujn08


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ну или напрямую в image выполнять рисование...
я думал об этом, но тоже не знаю как.
Есть пример, Алексей?
tujn08 вне форума  
 
Непрочитано 11.02.2019, 13:08
#4
Кулик Алексей aka kpblc
Moderator

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


Я не занимался настолько глубоко dcl
https://knowledge.autodesk.com/searc...10CB5-htm.html - единственное, что могу посоветовать
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.02.2019, 13:39
#5
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Да вы шутите! В DCL отображать список типов линий с предпросмотром?? Ну ок, самые простые типы вы распарсите на точки и линии. Но есть линии с буквами, линии со сложными символами и т.п. Я даже на .NET не рискну такое делать. Максимум - вывести в диалог название типа линии и рядом кнопку чтобы его поменять. А по кнопке будет вызван стандартный диалог выбора типа линии - в .NET есть возможность его вызвать. Можно, в принципе, сделать с помощью .NET лисп-функцию для его вызова.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 11.02.2019, 14:02
#6
koMon


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


Ну если, например, не делать пиктограммы типов линий "на лету", а имея в виду постоянное и фиксированное их количество, то можно наделать слайдов этих типов линий, даже засунуть их в библиотеку и вызывай себе их в dcl.
Виноват(, не дочитал(
koMon вне форума  
 
Непрочитано 11.02.2019, 14:09
#7
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Разработчики Аутодеска на .Net предлагают воспользоваться строковым свойством LinetypeTableRecord.Comment. Есть ли в лиспе это свойство - ищите сами)
Сергей812 вне форума  
 
Автор темы   Непрочитано 11.02.2019, 14:19
#8
tujn08


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


Озвучу цель:
(да есть готовые продукты, чем-то лучше и прочее прочее)
Избитая проблема - кабельный журнал. Я написал алгоритмы которые считают длины от точки до точки, учитывают высоты, перепады, альтернативные пути. Сейчас легко можно еще учесть метод прокладки (труба, короб и прочее).
Причесать все под один стандарт можно, но лучше дать выбор пользователю: "этот тип линии" = "труба открытой/закрытой прокладки", "этот тип линии" = "короб" и т.д. Т.е. стандарт оформления у всех разный, может быть длинный список типов линий. По названиям может быть сложно и для этого надо графический вид показать. Ну понятно, что невозможно в чистом DCL.
tujn08 вне форума  
 
Непрочитано 11.02.2019, 14:28
#9
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Цитата:
Сообщение от tujn08 Посмотреть сообщение
Т.е. стандарт оформления у всех разный, может быть длинный список типов линий.
но их можно раз начертить, и потом просто сопоставить путем прямого указания соответствия реального типа линии из шаблона "логическому" типу программы. Стандарт оформления по 10 раз на дню не меняется обычно)

----- добавлено через ~9 мин. -----
или другой вариант - в отдельном файле в рамках фрагмент полилинии и рядом написан текстом логический тип программы. При необходимости в файле правится тип линии в отдельных рамках, а программа потом сама сопоставляет по рамкам.
Сергей812 вне форума  
 
Непрочитано 11.02.2019, 15:01
#10
Семёныч


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


Без слайдов такой диалог с помощью DCL не получится. А с слайдами показываю пример:
Миниатюры
Нажмите на изображение для увеличения
Название: Диалог Прокладки.png
Просмотров: 57
Размер:	10.1 Кб
ID:	210896  
Семёныч вне форума  
 
Непрочитано 11.02.2019, 15:11
#11
koMon


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


Цитата:
Сообщение от Семёныч Посмотреть сообщение
Без слайдов такой диалог с помощью DCL не получится
ещё как получится, только вот рисовать имиджи заколебёшься!))) хотя при наличии стандартизации...
koMon вне форума  
 
Непрочитано 11.02.2019, 15:38
#12
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от koMon Посмотреть сообщение
только вот рисовать имиджи заколебёшься!
Только в качестве идеи, не претендую на работоспособность... Создавать блок, рисовать внутри него линию, брать превью блока.
Будет как то так:
Boxa на форуме  
 
Автор темы   Непрочитано 11.02.2019, 15:47
#13
tujn08


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
просто сопоставить путем прямого указания соответствия реального типа линии из шаблона "логическому" типу программы
это разумеется. Решил ка сделать: алгоритм "КЖ" предусматривает выбор области - из этой области отсею используемые типы линий. При существовании соответствий - проверка на новый тип. При отсутствии - сопоставление. Отдельное окно на просмотр и редактирование соответствий. Получится так, что на один программный тип может приходиться множество реальных.
Количество программных будет тоже неограниченное количество для вывода любого отчета по методам прокладок (а там и объем работ подтянуть).
tujn08 вне форума  
 
Непрочитано 11.02.2019, 16:24
#14
koMon


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Создавать блок, рисовать внутри него линию, брать превью блока.
но ведь это уже будет не чисто лисп?
кстати если ac не строит привьюшки типов линий "на лету", то где-то они должны храниться, ведь он их исправно показывает...
Миниатюры
Нажмите на изображение для увеличения
Название: Ltype.jpg
Просмотров: 18
Размер:	17.4 Кб
ID:	210900  
koMon вне форума  
 
Непрочитано 11.02.2019, 17:01
#15
Семёныч


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


Цитата:
Сообщение от koMon Посмотреть сообщение
ещё как получится
не еще как, а кое-как. Потому что
Цитата:
Сообщение от koMon Посмотреть сообщение
рисовать имиджи заколебёшься!
Не понятно, почему автор темы так панически боится слайдов?
Семёныч вне форума  
 
Непрочитано 11.02.2019, 18:07
#16
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Цитата:
Сообщение от Boxa Посмотреть сообщение
брать превью блока.
можно ли в лиспе получить превью блока? И там вроде можно только 32х32 бит получить..
Сергей812 вне форума  
 
Непрочитано 11.02.2019, 18:10
#17
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
можно ли в лиспе получить превью блока? И там вроде можно только 32х32 бит получить..
не знаю, проверять лениво, потому и написал:
Цитата:
Только в качестве идеи, не претендую на работоспособность...
Boxa на форуме  
 
Непрочитано 11.02.2019, 21:47
#18
P_S


 
Регистрация: 09.10.2006
Санкт-Петербург
Сообщений: 99


Если в файле .lin в описании типов линий есть изображение вида линии (в виде строчки текстовых символов), то в списке это графическое отображение и изобразится:
Код:
[Выделить все]
 (setq l nil)
(vlax-for lt     
(vla-get-Linetypes(vla-get-ActiveDocument(vlax-get-acad-object)))
(setq l (cons(strcat(vlax-get-property lt 'Name) " " (vlax-get-property lt 'Description))l)))
Останется только загрузить этот список в popup_list или в list_box.
P_S вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Графическое отображение типов линий в .DCL

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как настроить корректное отображение типов линий? oskar6630 AutoCAD 18 13.04.2020 16:57
Отображение типов линий внешних ссылок. AutoCAD Architecture Prestigiare Вертикальные решения на базе AutoCAD 10 09.08.2019 06:52
Некорректное отображение типов линий при вставке в Word Alllex Прочее. Программное обеспечение 0 05.02.2018 13:58
Отображение типов линий внутри штриховок boroda AutoCAD 4 08.02.2017 16:45
Отображение разных типов линий в пространстве листа. Dmitsan AutoCAD 4 11.12.2008 20:35