|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Нужен лисп, который высчитывает уклон линии
Дороги, Конструкции, Тоннели
Сочи
Регистрация: 20.05.2004
Сообщений: 102
|
||
Просмотров: 34335
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,202
![]() |
![]() Цитата:
Цитата:
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Цитата:
Код:
|
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Хочу напомнить, что уклон: в геодезии, показатель крутизны склона; отношение превышения местности к горизонтальному протяжению, на котором оно наблюдается (напр., уклон, равный 0,015, соответствует подъему 15 м на 1000 м расстояния).
Это что у нас, как считают уклоны за бугром не знаю ![]() |
|||
![]() |
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,202
![]() |
Лентяй
Ну было же Цитата:
зато ловит :wink: А что большой, так это скорее закономерность. Пустой стакан. Зы. Обращение ко мне на "вы" (с маленькой) вызывает у меня раздвоение личности. на "Вы" - ощущение неравноправия, я ж тыкаю. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
если что-то нужно - то надо описать МАТЕМАТИЧЕСКИ что такое средний уклон и усредненная длинна, если с математикой плохо - нарисовать пару примеров - чтоб было понятно что на что делить и что с чем складывать - там глядишь и програмку нарисуют.
Offtop: не создать ли нам FAQ высвечиваемый при создании новой темы в этом разделе - как правильно задать вопрос (запрос) на написание чего-либо.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 12.03.2012 в 00:27. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Расстрою я тебя немножко - у тебя в рисунке обычные (а не "обещенные" 3D) полилинии, то есть лежат в одной плоскости, соответственно "взять высоту" (Z) можно лишь "поискав" рядом с вершиной тескт содержащий цифру и предположив, что это высота. Решение может быть только изначально кривое (т.к. вместо высоты может попасться все что угодно) - а поработав с кривым - ты через неделю попросишь "выловить блох" - и так до бесконечности - короче я его делать точно не буду.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Отопление и вентиляция Регистрация: 31.10.2008
Москва
Сообщений: 445
|
http://forum.abok.ru/index.php?showtopic=66478 вот мой вариант лиспа для проставления отметок с учетом уклона
|
|||
![]() |
|
||||
ВК Регистрация: 12.10.2011
питер
Сообщений: 10
|
Товарищи думаю у многих есть такой лисп, по форуму поискал но все что то нето. Нужно что бы лисп выносил на выноске или в Командной строке уклон для прямой между двуся точками, с координатой х,y.
Програмка нужна чтоб проверять профили и самому проставлять уклоны труб. В моем понимании это будет просто Дельта Y/ Дельта X = цифра эту цифру или на выноске или в командную строку. Нужно еще возможноть задать масштаб по горизонтале и вертикали. |
|||
![]() |
|
||||
Регистрация: 27.12.2011
Сообщений: 1,456
|
|
|||
![]() |
|
||||
zikyha, есть, но не всегда такой
я для себя писал просто с выводом в ком строку, без выносок. Ничего лишнего, одна арифметика. Код:
Если надо что бы это выводилось текстом - добавляй нужные запросы на положение текста, и в 5ой строке вместо princ сохранить строку в переменную для дальнейшего использования з.ы. если масштабы по осям разные - надо, опять же, добавлять нужный запрос и в зависимости от полученного значения просчитывать разные варианты.
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
![]() |
|
||||
Проектирование газоснабжения Регистрация: 20.10.2016
Сообщений: 2
|
Здравствуйте уважаемые форумчане. Работаю проектировщиком по газоснабжению соответственно приходится делать много километров профилей. Хочу попросить Вас о помощи. Нужен лисп для расчета уклона газопровода в промилле.Суть задачи в следующем: есть две отметки (мтекст)-одна большая, другая меньшая и длина участка (мтекст). Отметки-с двумя знаками после запятой, длина участка-с одним знаком. Указываем на экране большую отметку, меньшую отметку и длину участка. Программа считает уклон по формуле
![]() Такой лисп в связке с лиспом уважаемого Composter был бы просто находкой. Хочу сказать большое спасибо Composter за его программу по простановке отметок на профиле, пользуюсь постоянно. Правда методом "научного тыка" немного подточил ее "напильником" (к сожалению лисп не знаю) под свою работу. Теперь отметка ставиться с двумя знаками, разделитель запятая и горизонтальный масштаб 1:500. Искренне надеюсь что автор автор не обидится. |
|||
![]() |
|
||||
Prodiver, например так
Код:
Облагораживать самостоятельно...
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Prodiver, нужный код есть тут в #509 (спасибо CB): Как сосчитать сумму цифр из отдельных мтекстов.
Только тот код вроде до одного знака после запятой, но там же, чуть выше написано, где что поменять, чтоб стало два. К тому же тот лисп берет разность по модулю, то есть, не важно, большую или меньшую отметку кликать первой. P.S.: Сейчас придет trir и скажет: "Civil 3D!" ![]() |
|||
![]() |
|
||||
Проектирование газоснабжения Регистрация: 20.10.2016
Сообщений: 2
|
Добрый вечер всем. Хочу поделится новостью, но все по порядку. Vladimir_Sergeevich, спасибо что откликнулись на просьбу. Попробовал Ваш код на Autocad 2016, к сожалению он не пошел. Команды набираются, а результат в ком. строку не выводится. А вот так случилось, что skkkk меня очень удачно "послал" по ссылке. Там действительно есть практически то, что нужно, только пришлось немного изменить кое что и в итоге все работает именно так как и нужно.Большое спасибо Всем кто помог с темой и авторам программ. Решил выложить то, чем сейчас пользуюсь, может кому пригодиться:
Код:
(setq sum_dlin(rtos (+ cc1 (*(/ sum_dlin 2000)zod65_Uklon)) 2 2 )) (setq sum_dlin(rtos (- cc1 (*(/ sum_dlin 2000)zod65_Uklon)) 2 2 )) (заменить 2000 на другое). Я делал это опытным путем. Всем удачи. Последний раз редактировалось Кулик Алексей aka kpblc, 29.05.2020 в 11:51. |
|||
![]() |
|
||||
Регистрация: 14.12.2006
Tula
Сообщений: 23
|
подниму тему. уважаемый Prodiver писал про уклон в промилле, для себя изменил в мм, но вот что в коде нужно изменить чтобы было округление до тысячных после запятой не смог постичь. прочитал про rtos, но как он здесь работает не пойму...
Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 29.05.2020 в 11:51. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
Код:
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
_.dimangular ?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 23.12.2013
Сообщений: 26
|
имеются несколько горизонталей с разным уровнем (всё в плане), нужно вычислить угол падения в градусах, а _.dimangular вычисляет угол между отрезками на плоскости.
есть команда CGSLIST но она выдаёт в промилле. Последний раз редактировалось iSpawn, 01.06.2020 в 09:40. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Ну если есть код, который уже все делает в промилле, то осталось только перевести результат в градусы:
Код:
----- добавлено через ~2 мин. ----- Кстасти, как лисп узнает, какие высоты у горизонталей?
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Регистрация: 23.12.2013
Сообщений: 26
|
Цитата:
""Первая отметка: 300.00м; вторая отметка: 250.00м; разность отметок: -50.00м уклон: -700.31‰; откос: -1:1.43; расст. по горизонтали: 71.40м"" Что-то твой лисп не запускается, команда ж для запуска ppm? |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Это функция запускаетсяв скобках с параметрами, например "(ppm->grd 700.31)".
У меня нет MAP и Civil. Код от туда вытащить не получится. Я не смогу определить высоты горизонталей, если они на плосокости начерчены (полагаю это только MAP и знает), а значит и вычислить уклон. Если они в 3D, то, впринципе, можно. Тогда нужен пример.
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Регистрация: 23.12.2013
Сообщений: 26
|
|
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
Код:
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Регистрация: 30.01.2018
Сообщений: 3
|
|
|||
![]() |
|
||||
ang (* (/ (abs (- z1 z2)) dist3) 1000)
(strcat "\nуклон: " (rtos ang 2 2) "‰; расст. по горизонтали: " (rtos dist3 2 2) "м")
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
![]() |