| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
16.08.2009, 14:35 | #1 | |
LISP - 2D полилинию в 3D
Регистрация: 16.08.2009
Сообщений: 2
|
||
Просмотров: 8865
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Дополнительно: а 2D-полилиния сделана только в мировой системе координат или возможны варианты? А Elevation для этой полилинии всегда 0? А что делать с дуговыми сегментами? А полилиния только в пространстве модели или, опять-таки, возможны варианты? А полилиния точно не входит в какой-нибудь блок или внешнюю ссылку?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Я бы на твоем месте, Andrej, приложил файл-образец. А то гадать можно до бесконечности...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Цитата:
Код:
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 20.08.2009 в 22:16. |
|||
|
||||
Дима_, добавь к функции два аргумента - множитель и прибавку, а то, геоподоснова 1:1, то есть в миллиметрах, а отметки высот в метрах над уровнем моря. Множитель переведет уровень в миллиметры, а прибавка (которая может быть как +, так и -) опустит общий рельеф на заданный уровень.
Очень полезная вещь получится. Да, еще забыл. Добавь анализ запятой, если знаки разделены запятой, то переделать на точку. |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Супермакс - за твой вклад в параметры видимости - любые капризы (исправленние выделенно) - задавать параметры - testinit. Про запятую - я как обычно не понял что нужно.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Дима_, огромное спасибо! В процессе работы c:test, надо чтобы выводилось через princ значение переменных mnojitel_vysoty и pribavka_vysoty, будет круче чем в Автокадовских аналогичных подходах.
Все служебные функции я бы упрятал внутрь c:test, а саму c:test уже нужно переименовать во что-то более понятное. Да и оформить как программу и положить в библиотеку готовых программ. P.S. Так бывает, что на геоподоснове очень часто отметки высот указываются через запятую. Я конечно могу все тексты махом перелопатить и поменять запятую на точку, но по правилам, я не имею права вносить в геоподоснову изменения. Потом, тексты бывают разные. Рядом с вершиной может лежать и обычный текст, и отметка уровня дна колодца (123.45 лот.) и отметка верха трубы (123.45 в.тр.) и всякое другое, а надо выбирать только 123.4 или 123,4 или 123.45 или 123,45 или 123.456 или 123,456 короче прировнять точку и запятую к цифре и проверить, чтобы вся строка состояла из цифр. С М-текстом тоже надо работать. А так - очень простая и гениальная идея реализована. Последний раз редактировалось Supermax, 20.08.2009 в 11:59. |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
По поводу запятых - программе абсолютно все равно будет-то 123.45 или 123,45 - "проглотит" обе цифры - по поводу отбирать только цифры - ихмо сделать можно, но возможны баги с пробелами и пр - тут надо хорошенько продумать - ихмо выбирать самую ближнию цифру (не важно в каком формате) - надежней. По поводу объединения если есть красивые идеи - изложи подробно, т.к. мой взгляд на GUI классическим не назвать (с DCL не работал и как-то не планирую).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Цитата:
Особо в текст лиспа не вникал и поэтому интересуюсь, если я слои повыключаю лишние, из них тексты не будут мешать работе проги? Рyslan, на геоподосновах уровень указан в метрах от уровня моря, к примеру 173.46, что означает 173 метра и 46 сантиметров. А масштаб геоподосновы скажем 1:1, то есть проводимые тобою линии будут исчисляться в миллиметрах, значит надо 173.46 умножить на 1000, но тогда все линии подпрыгнут по Z аж на 173 метра вверх. Значит, надо дать прибавку скажем -170 и наш рельеф опустится на приемлемую высоту при просмотре сбоку. |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Исправил курсивом - особо не гонял теперь по идее только строки с голыми цифрами идут в расчет - то есть годными признаються только символы " .,0123456789" - всех кодов не знаю посему и двухстрочные или с другим форматированием тоже игноряться.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Проектирование Регистрация: 01.09.2009
Сообщений: 19
|
Добрый день! А как сделать чтобы код из сообщение#6 за координаты вершины 3d-полилинии принимался не текст, а координаты кажущегося пересечение с 2D полилиниями (горизонталями рельефа), естественно находящимися на разных высотах?
Вложил пример в файле Последний раз редактировалось hroost, 24.04.2019 в 12:30. |
|||
|
||||
Проектирование Регистрация: 01.09.2009
Сообщений: 19
|
Я так понимаю что решение здесь http://forum.dwg.ru/showpost.php?p=801611&postcount=6
"Основная идея проста: все нужные примитивы проецируются на плоскость полилинии, получаем точки пересечения, потом примитивы обратно и получаем расстояние от вычисленной точки до примитива. Это и будет высота расположения примитива над полилинией в указанной точке. А дальше строишь все чего хочется." (С) Но к сожаление моих познаний в лиспе не хватает для воплощения этой идеи даже на примере сабжевого кода. Вложил пример файла Последний раз редактировалось hroost, 24.04.2019 в 12:30. |
|||
|
||||
|
||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как в 3D зделать полилинию, что бы она стала трубой не целиндром а изогнутой | Denis DWG | AutoCAD | 31 | 07.05.2009 16:19 |
Lisp Как поставить диаметр отверстия на 3D solidе | P4s8x | LISP | 4 | 06.11.2008 19:31 |
3d max: Генерация из 3D в 2D | Малюк | Другие CAD системы | 2 | 21.02.2008 15:32 |
Тень от 3D обьекта на 2D и др. вопросы в AutoCad 2007 | Sergunya | AutoCAD | 7 | 25.12.2006 09:47 |
3D => 2D | Grinzaid | AutoCAD | 10 | 02.02.2005 17:49 |