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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лиспик по черчению бергштрихов(не для откосов)

Нужен лиспик по черчению бергштрихов(не для откосов)

Ответ
Поиск в этой теме
Непрочитано 09.11.2006, 11:57
Нужен лиспик по черчению бергштрихов(не для откосов)
Иван
 
Музыка,строительство(проектирование)
 
Москва
Регистрация: 25.05.2004
Сообщений: 40

ДД!МОжет есть у кого-нить лисп для черчения бергшрихов.Имеем кучу горизонталей,к которым надо прорисовать бергшрихи.
Ориентировочно вот такой:
1.Выбор обекта(ов) (линии,сплайны)
2.размер бергштриха
3.Указать направление
Отрисовка из центра объекта

Заранее сенгс откликнувшимся)))
Просмотров: 19531
 
Непрочитано 24.11.2006, 06:46
#41
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Давайте не сваливать в одну кучу бергштрихи не для откосов и возможность использования такой технологии для откосов. Но, если уж оказалось в одном месте, да в контексте обсуждения программ, то:

1. Бергштрихи можно делать по разному. Зависит от задачи да и от характера рельефа. На ярко выраженном рельефе есть специфика - берг-штрихи должны быть по "хребту". На неявном рельефе - через какое-то охватываемое глазом расстояние. Если слишком часто, например, через 5 м, то горизональ уже можно спутать с обозначением забора. Особенно если это проектная горизонталь, идущая по прямой.

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

Например, имеем (условно) функцию с аргументами

(горизонталь толщина высота_берг-штриха шаг_штрихов)

В меню может быть несколько вариантов:

Код:
[Выделить все]
[Горизонталь тонкая]^C^C^P(defun C:ГОР_0()(горизонталь 0 0.5 10.0))
[Горизонталь толстая]^C^C^P(defun C:ГОР_1()(горизонталь 1.0 1.5 20.0))
[Горизонталь толстая с запросом шага]^C^C^P(defun C:ГОР_2()(горизонталь 1.0 1.5 nil))
В первом варианте - тонкая линия с бергштрихами длиной 0.5 мм на бумаге и с шагом 10 м, во втором - "толстая" с берг-штрихами длиной 1.5 мм на бумаге и шагом 20 м, в третьем - шаг бергштрихов не задан, но после рисования горизонтали программа будет спрашивать точки установки штрихов (это подойдет, когда их мало, но надо именно в заданных местах), а штрихи будут рисоваться правильной длины и "перпендикулярно" линии.

Даже "не шибко смышленая тетка" может наплодить нужное ей количество вариантов в меню.

2. С откосами сложнее. Есть много вариантов, в том числе специфичных для конкретной отрасли. И в стандартной топографии есть откосы укрепленные и неукрепленные, земляные, с плитами, с подпорными стенками. А также для мелкомасштабных планов, где не делаются длинные и короткие штрихи, а длина штриха условна и не отражает реальную высоту.

Но и тут желателен подобный подход - функция с аргументами, доступными для изменения пользователем. Если вопрос, например, в длине короткого штриха, то ее надо задать в виде одного из аргументов, например 0.5 - половина склона, 0.33 - треть, а если nil - то 2 мм на бумаге по топографическому стандарту.
ShaggyDoc вне форума  
 
Непрочитано 26.04.2008, 05:15
#42
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Подскажите пожалуйста, как сделать так, чтоб выбранная полилиния делилась на равные куски заданной длины (например 200мм) штрихами, но не совсем берг-, а как бы двойными берг-)), то есть чтоб этот штришок пересекал полилинию в своем центре, был перпендикулярен полилинии и был длиной 4 мм и со свойствами линии по слою.....Облазил все что мог, пытался какие-то лиспы менять, но плоховат я еще в этом деле....
skkkk вне форума  
 
Непрочитано 26.04.2008, 14:26
#43
Кулик Алексей aka kpblc
Moderator

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


Либо _.divide с использованием блоков; либо тип линии создавай свой. Первый вариант, наверное, более удобен будет.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.06.2008, 04:46
#44
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


По #42: Больше всего подошла команда _measure с использованием блока, созданного перетаскиванием отрезка в 4 мм правой кнопкой мыши за центр, выбором функции <Вставить как блок>, выбором интервала <200> и ориентировкой блока по полилинии (запросы при выполнении команды). А еще лучше оказался макрос
^C^C_measure;\_b;piket;;200;_xplode;_p;;;;
он сразу разбивает полилинию блоком с именем piket через 200мм и взрывает этот блок (если созданный по описанному выше алгоритму блок назвать piket, он вставится на свои места), причем разметка начнется с того конца полилинии, ближе к которому кликнуть при запросе программы <Выберите объект для разметки>. Очень полезно для геодезистов при расстановке пикетов через определенное расстояние. Если кто что не понял - могу пояснить более подробно, пишите сюда.
skkkk вне форума  
 
Непрочитано 23.10.2014, 00:06
#45
Мих


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


^C^C_measure;\_b;piket;;200;_xplode;_p;;;; -- а как поправить чтоб сразу кучу полилиний разметить?
Мих вне форума  
 
Непрочитано 23.10.2014, 06:41
#46
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Только лиспом. Но при таком варианте с какой стороны полилинии начинать разметку? Всегда с начала полилинии? Макросом размечается с той стороны, куда кликнуть.
skkkk вне форума  
 
Непрочитано 23.10.2014, 15:09
#47
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


По поводу бергштрихов и пикетов можно не изобретать велосипеда и пользоваться Civil 3D. Там вся работа с поверхностями и трассами очень классно реализована.
Для расстановки бергшрихов можно использовать метку горизонтали из отрезка нужной длины.
Будет не только считаться и рисоваться автоматом и в нужном направлении, но и динамически обновляться при изменении поверхности (добавление/удаление съемочных пикетов, перестановка ребер TIN)
Про трассы и профиля не буду говорить даже. Экономия времени бешеная просто.

Offtop: Хотя это немного и не про программирование
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 23.10.2014, 15:35
#48
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Offtop: Kirill_Ja, во-первых, Civil есть не у всех, и не у всех когда-то будет. Во-вторых, в нем работать еще нужно научиться, а если человеку нужны только бергштрихи, то окупится этот цивил с обучением еще ой как не скоро. В-третьих, попробуй-ка согласуй у нас то, что выдаст цивил - не всегда удастся, придираются, тут мол профиль не по ГОСТ, а тут вот так, а тут эдак. Придется переделывать/перенастраивать, проще дёрнуть с форума маленький лиспик и всего делов .
Я думаю, так рассуждает добрая часть из работающих в AutoCAD, и многих можно понять.
skkkk вне форума  
 
Непрочитано 23.10.2014, 16:54
1 | #49
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,095


Поставить звездочку в начале:
Код:
[Выделить все]
*^C^C_measure;\_b;piket;;200;_xplode;_p;;;;
Не совсем "сразу кучу полилиний", но все же не вызывать макрос каждый раз
kp+ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лиспик по черчению бергштрихов(не для откосов)

Размещение рекламы