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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Вставка динамического блока по двум точкам и как при этом схватить за grip полярного параметра

Вставка динамического блока по двум точкам и как при этом схватить за grip полярного параметра

Ответ
Поиск в этой теме
Непрочитано 11.01.2017, 07:20
Вставка динамического блока по двум точкам и как при этом схватить за grip полярного параметра
Red Nova
 
ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Торонто
Регистрация: 23.10.2007
Сообщений: 1,980

Доброго,

Тут выяснил что более-менее нормального варианта на лисп нет.
По этому решил создать отдельную тему в общем разделе и спросить Вас товарищи, может у кого имеется подобное реализованное на другом языке (то бишь выклянчить)? Уверено что это возможно так как подглядел у одного коллеги, и больно понравилось, а у него и не взять . Надеюсь админы простят дубляж в таком формате.

Собственно дублирую вопрос.
Имею динамический блок, у него есть полярный параметр.
Ищу возможность вставить блок командой с указанием двух точек, но при этом хочу чтобы после указания первой точки блок "висел на курсоре"
По аналогии с прорисовкой обычной линии, после указания первой точки линия следует за курсором.
По сути нужно после вставки блока взяться за грисп нашего полярного параметра и указать вторую точку.
Могу написать похожий код на лиспе но без "висения на курсоре".

Если у кого есть такое, поделитесь плиз. Ничего не знаю о языках кроме лиспа (хотя и в лиспе пожизненный чайник), но по идее если у кого есть работающий шаблон, то должно работать с любым аналогичным блоком отредактировав его наименование в коде.

Подопытный прикреплен.

Вложения
Тип файла: dwg
DWG 2013
test.dwg (42.9 Кб, 39 просмотров)

__________________
Блог
Просмотров: 8294
 
Непрочитано 14.01.2017, 10:07
#21
Сергей812


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


Пример написания Lisp-подобной функции
Сергей812 вне форума  
 
Непрочитано 14.01.2017, 10:07
#22
Boxa

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


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Жаль что с этим сложности.
Какие сложности? Примеров кода в сети полно, бери да делай.
Цитата:
Сообщение от Red Nova Посмотреть сообщение
Как вариант можно вставить этим кодом подставной блок без атрибута, затем его удалить и вставить нормальный блок командным методом.
Бог в помощь, хотя это ближе к идеологии DrawJig... ссылку на похожий код я уже давал.
Цитата:
Сообщение от Red Nova Посмотреть сообщение
и измените код ниже так чтобы была функция вместо команды.
Я пас. Мне костыли из Лиспа не очень то и нужны (пока), меня вполне C# устраивает.
А Вам вопрос, что Вы в эту функцию собираетесь передавать, в каком виде, что с переданным будете делать и как использовать. Вот когда на эти вопросы ответите, тогда и будет понимание, что делать и как.

Последний раз редактировалось Boxa, 14.01.2017 в 10:20.
Boxa вне форума  
 
Автор темы   Непрочитано 14.01.2017, 19:16
#23
Red Nova

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


Boxa
Цитата:
Какие сложности? Примеров кода в сети полно, бери да делай.
Я ведь с первого поста честно признался что тут я по сути прошу поделится готовым кодом, так как сам не знаю ничего о языках кроме лиспа.
Изучать язык (ведь чтобы проделать маленькие изменения мне нужно прилично углубиться) времени к сожалению нет, да и делать это ради одной команды смысла мало (в остальном меня пока лисп удовлетворял). Следовательно то что Вам "какие сложности?" для меня очень даже они самые.

Цитата:
Я пас. Мне костыли из Лиспа не очень то и нужны (пока), меня вполне C# устраивает.
На нет и суда нет, спасибо и на том.

Цитата:
А Вам вопрос, что Вы в эту функцию собираетесь передавать, в каком виде, что с переданным будете делать и как использовать.
Можно ничего и не передавать. А просто запустить функцию чтобы она построила фейковый блок без атрибута.
Но, как и писал ранее, было бы удобно передать в нее аргументы "Имя фейкового блока", "Имя Полярной Длины", "Имя Полярного Угла", "Начальный угол Полярного Угла".

Если прошлый пост я оформил не достаточно понятно попробую еще раз.
По части вставки самого блока, если он без атрибута, меня Ваша команда вполне устроила.
Однако все мои блоки (их несколько) имеют атрибуты, да и кроме того во всех атрибутах поля. Ваш код не работает корректно с атрибутами, и кроме того даже если бы работал, поле там работает как-то иначе. Внести эти изменения я не смогу, следовательно ищу альтернативный путь. Если ту же команду преобразовать в функцию лисп, то я бы ее смог использовать в лисп коде следующим образом.
-В лиспе вызываю такую функцию и вставляю поддельный блок без атрибута.
-Получаю динамические параметры поддельного блока и удаляю его.
-Вставляю блок с атрибутом с полученными параметрами.

Часть лиспа я могу сделать. Но сперва требуется оформить Ваш код в функцию. Из поста #7 я сделал предположение что это сделать легко и требуется только заменить пару строк в коде. Но может я неправильно понял Сергея...?

Сергей812
Спасибо, Поизучаю.
__________________
Блог
Red Nova вне форума  
 
Непрочитано 31.01.2017, 08:19
#24
Boxa

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


Как простейший костыль можно использовать вот этот подход: http://adn-cis.org/forum/index.php?t...sg4846#msg4846
т.е. перед вызовом команды в лисп коде записать имя блока и имена параметров в переменные, вызвать команду, потом,, после завершения .net кода, найти последний созданный блок с заданным именем ивкорячить туда атрибуты с полями...
Костыльно конечно, но зато просто.
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Вставка динамического блока по двум точкам и как при этом схватить за grip полярного параметра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка блока из чертежа исходя из двух параметров (длина и ширина) Kairat.iskakov LISP 6 17.05.2016 15:04
Вставка блока с атрибутами. Как сделать правильно? Kirill_Ja Программирование 7 18.03.2013 00:22
Правильность применения операции полярного растяжения для динамического блока E_note Динамические блоки 2 22.01.2012 14:22
Вставка динамического блока из библиотеки с потерей аннотативности Jonas Динамические блоки 20 04.12.2011 19:45
Странное поведение динамического блока высотной отметки hwd Динамические блоки 12 08.09.2011 11:15