|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
я правда думал не про vla-CopyObjects, а про простое думал entmake, entmode
Цитата:
Просто я не сталкивался с анонимными блоками, но думаю что он будет работать как и простой, т.е Например задача выше определить координаты рамки над словом в многострочном тексте = самое простое что я вижу взрыв (да не очень красивое) - и отмена взрыва == но так это значительно быстрее чем вычислить и учесть все форматирование, мтекст взрывается согласно форматированию (скрин-шоты выше приводил) , да может возникнуть например слово разорвет и т.д (но они все решаемы, относительно быстро, да и второй возникает а надо бывает такую задачу решать = не думаю что кто-то будет специально например букву в слове делать другим шрифтом, высотой ...я пишу из своей практики) Мне надо поиск текста - что-то вроде Автокадоского (просто не все есть или работает в автокаде), начал писать эту про- грамму потому что тот же СПДС-график не находит (я его не переношу, а строители пользуются...) ==а значит и мне приходится работать с их поосновой... |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Как бы да
1. Создать описание анонимного блока 2. В него скопировать обрабатываемый текст 3. Взорвать текст, используя vla-explode 4. Пройтись по результатам и вычислить нужные данные (я так понимаю, что для однострочного текста у тебя уже все работает) 5. Вернуть и дальше обрабатывать результаты.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
|
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
А почему нет? http://autolisp.ru/2014/07/29/explode-vs-vla-explode/
Слой только разблокировать и разморозить надо - вот и все.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
|
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
А, да, приношу свои извинения. vla-explode на многострочный текст не действует
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
да и сдаётся мне что взорвать мтекст ВНУТРИ блока вообще невозможно
----- добавлено через ~1 мин. ----- двигаемся опять к клонированию) |
||||
|
||||
|
||||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
Спасибо
все теоретически обычными средствами и активХ наверное да, если конечно не входить в блок через командную строку, но тут "клонирование" снова наверное будет в приоритете ==это лучше, потому что скопировл из блока и взорвал ...чем + займет время на прорисовку в блоке и при выходе из блока ________________ Алексей скинь плиз ссылку на создание "анонимного блока", хочу почитать ..ато загуглил, нормальной ссылки что-то не нашел (как их создавать и т.д, на и на формуме поиск как -то криво выдал....может конечно и я сам криво искал...) Последний раз редактировалось prajdziswet, 16.02.2018 в 16:55. |
|||
|
||||
|
||||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
полностью солидарен, я так развлекался когда лисп очень плохо знал и чтобы подсчитать элементы входил лиспом через командную строку )))))
ну честно говоря особо тут разницы не вижу, что через актив что так создавать результат будет один и тот же...удобно конечно через vla-CopyObjects , преимущество только вижу что имена у меня будут вла-объектами... |
|||
|
||||
наверное это дело личных предпочтений, если конечно не заморачиваться на тему проверки быстроты выполнения, но вот сам же говорил привязки там всякие мешают, а в activex они и не мешают вовсе. это я к тому что в activeх как-то меньше зависишь от кучи системных переменных.
|
||||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
Да наверное это еще один + , правда я всеравно привязку отключаю на момент поиска (формирование списка координат по которым просто потом зумирую).
Правда я пока в блоке оставил общую рамку текста (да вопросы там не доконца решил, как оно координаты выдаст скорее всего для блока - а потом их надо будет смещать и маштабировать, поворот не учитываю..), а не в блоке через взрыв сделано.... Клонировать наверное буду пробывать для спдс-таблицы, если мне конечно даст прокси скопировать, да и подозрение что спдс -внутри блока не получиться взорвать ... |
|||
|
||||
однозначно относительно точки вставки блока, которая для блока является своей системой координат. если блок масштабируется и поворачивается, то возможно это можно решить через трансформирующую матрицу.
лучший автокад - это голый автоткад! |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Да все элементарно (пишу без запущенного ACAD'a):
(setq def (vla-add (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) "*U" (vlax-3d-point '(0. 0. 0.))) Вроде так. Посмотри в справке параметры вызова vla-add для разных случаев - там все описано.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 30.03.2015
Сообщений: 152
|
кажись решил простой математикой (косинусы-синусы и т.д) без матриц ..вроде работает (как и говорил в блоке оставил просто общую рамку мтекста ...работает вроде при маштабировании-смещении-повороте, как оно конечно на практике покажет конечно вопрос = но вроде проверил смаштабировал-повернул-а потом сместил...показало вроде адекватно)
Пока до анонимных блоков не дошел, пока еще допиливаю потихоньку остальное ... п.с потом выкину лисп, что получился... ----- добавлено через ~1 ч. ----- Просветите меня темного, как скопировать объект в образованный аннонимный блок ..что-то я запутался.... Код:
Последний раз редактировалось prajdziswet, 18.02.2018 в 11:16. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ручки в многострочном тексте | Яблоко | AutoCAD | 12 | 20.02.2015 11:55 |
Определение координат динамического блока в среде VBA | ArtemYa | Программирование | 8 | 03.12.2009 13:57 |
Изменение форматированного текста посредством lisp | Tramp | LISP | 4 | 03.03.2006 11:28 |
Бледный русский язык в многострочном тексте | dimoniy | AutoCAD | 8 | 09.11.2005 01:00 |
не работает переключение регистров в многострочном тексте | Nika | AutoCAD | 3 | 20.05.2004 22:26 |