Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Помогу бесплатно разработать любую программу на autolisp.

Тема в разделе "Autodesk", создана пользователем Германup, 3 фев 2014.

  1. X-Y-H

    X-Y-H Администратор
    Команда форума Форумчанин

    Регистрация:
    18 май 2007
    Сообщения:
    21.960
    Симпатии:
    7.182
    Адрес:
    Россия
    Ждём огромного спасибо
     
    #1301
  2. Browning Zed

    Форумчанин

    Регистрация:
    20 сен 2013
    Сообщения:
    98
    Симпатии:
    29
    С большим уважением к BearDyugin за публикацию бесплатных программ, но все же: 5000 руб. за изменение режима ssget (это приблизительно 5 – 10 строк кода), дороговато. IMHO.
     
    #1302
  3. vladislav.blud

    Регистрация:
    23 сен 2021
    Сообщения:
    24
    Симпатии:
    0
    Максимально огромное спасибо))
     
    #1303
  4. Серега11

    Регистрация:
    1 июл 2020
    Сообщения:
    9
    Симпатии:
    0
    Помогите написать лисп для вставки прямоугольника!
    Меня привлекло название данной темы :)
    А вдруг кто-нибудь да и поможет?
    В общем если кому-нибудь будет интересно, то суть будущего лиспа в следующем:
    (Например есть трасса кабельной линии, а на пересечениях этой трассы с коммуникациями нужно прокладывать кабель в трубах, а пересечений всегда много). Так вот. На плане это выглядит так:
    В виде кабеля имеется полилиния с множеством углов поворотов в различном направлении, а в некоторых местах на эту линию нужно вставить прямоугольнички разных длин (т.е. трубы через коммуникации) и естественно симметрично и параллельно данной поллилинии.
    Нужно чтоб нажал кнопку лиспа и вышло бы например указание "Укажите точку вставки прямоугольника (трубы)"
    После указания точки вставки указывается вторая точка, которая определяет длину (в данном случае половину длины) прямоугольника и его направление (по длинной стороне).
    После указания этих двух точек (симметрично той поллилинии, на которой мы выбрали точку вставки), от первой указанной точки (точки вставки) у нас должен отрисоваться от собственного центра, один прямоугольник, в обе стороны от первой указанной точки, а длиной (т.е. половиной) и направлением по второй указанной точке.
    Цвет прямоугольника-синий. Ширина - 0,4 мм (а длину и направление указываем второй точкой). Тип линии-пунктир . Толщина - 0,35 мм.
    Данный Лисп думаю многим бы пригадился, тем кто прокладывает на "бумаге" различные сети. К тому же я думаю что ширину прямоугольника, толщину, тип и цвет линии каждый может потом сам переписать в коде лиспа под себя.
    Заранее спасибо!!! ;)
    upload_2022-12-22_15-1-45.png
     
    #1304
  5. X-Y-H

    X-Y-H Администратор
    Команда форума Форумчанин

    Регистрация:
    18 май 2007
    Сообщения:
    21.960
    Симпатии:
    7.182
    Адрес:
    Россия
    Серега11, вам нужен динамический блок, и не надо никакого лиспа
     
    #1305
    DGZ и Alexandr-GR нравится это.
  6. Alexandr-GR

    Форумчанин

    Регистрация:
    9 июн 2011
    Сообщения:
    1.192
    Симпатии:
    947
    Адрес:
    Новосибирск
    Я думаю для данной задачи писать программу не обязательно, смотрите в сторону динамических блоков
     
    #1306
    Steinar, chehoff и X-Y-H нравится это.
  7. chehoff

    Форумчанин

    Регистрация:
    14 май 2012
    Сообщения:
    1.117
    Симпатии:
    191
    Адрес:
    Первый в мире, второй по Сибири
    ну и команда "выровнять" очень хорошо прямоугольники кладет как надо
     
    #1307
  8. Alex_Shaton

    Форумчанин

    Регистрация:
    30 июл 2013
    Сообщения:
    258
    Симпатии:
    260
    Адрес:
    Беларусь Гомель
    Я для футляров сделал мультилинию, намного лучше чем дин. блок
     
    #1308
  9. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.010
    Симпатии:
    2.120
    Адрес:
    г. Москва
    Стандартная команда _ALIGN вставляет любой прямоугольник куда нужно. )
     
    #1309
  10. Alex_Shaton

    Форумчанин

    Регистрация:
    30 июл 2013
    Сообщения:
    258
    Симпатии:
    260
    Адрес:
    Беларусь Гомель
    Проще создать свой тип мультилинии, сохранить в шаблоне или в палитре, смотря в чем работаете
    --- Сообщения объединены, 22 дек 2022, Оригинальное время сообщения: 22 дек 2022 ---
    Футляры рисую постоянно, пробовал разные варианты, но лучше всего мультилиния
     
    #1310
  11. Qvinto

    Форумчанин

    Регистрация:
    10 дек 2008
    Сообщения:
    5.681
    Симпатии:
    4.233
    Адрес:
    Украина, г.Калуш
    Мультилинии, _align, это всё хорошо, рисовать можно. А вот, если футляры на пересечках автоматически расставляться будут.
     
    #1311
  12. Серега11

    Регистрация:
    1 июл 2020
    Сообщения:
    9
    Симпатии:
    0
    Да просто блоки, Млинии, алигн это всё не то . Уж лучше я буду своим способом делать и то быстрее будет в конечном результате. Вот как я делаю:
    1. Футляр у нас принято показывать замкнутым прямоугольником, пунктирной жирной линией (синего цвета).
    2. Я просто беру готовый футляр созданный на отдельном слое и копирую с базовой точкой и вставляю его куда надо.
    3. Маленьким лиспом ((defun c:kr () (setq ss (ssget)) (command "_rotate" ss "" pause "_r" (getvar "lastpoint") pause))), нажав на кнопочку, поворачиваю этот прямоугольник параллельно и симметрично нужной мне полилинии, ну и растягиваю прямоугольник до нужной мне длины взяв за ручку. И ВСЁ на этих двух действиях построение готово. Далее идут действия для подсчета длинн
    4. Потом через некоторое время, когда я считаю длины трубы для спецификаии. То вот тут то, мне и понадобятся прямоугольники на особом слое.
    5. Выделяю одну трубу и нажимаю комбинацию клавиш "выбрать подобные"
    6. Нажимаю на кнопку лиспа "кальк. длин полилиний", и он мне за секунду может выдать количество и общую длину этих труб , даже если их там тысяча.
    А с блоками и мультилиниями так быстро длины и количество труб не узнаешь не разбив их на части, А разобьешь, и тут же в проект пришло изменение трассы как обычно от заказчика, потом сидишь и удаляешь эти кусочки разорванные.
    В общем выше перечисленные варианты либо могут дать эффект хуже чем мой метод, либо такой же по скорости либо удобству.
    Вот я и подумал, что было бы хорошо бы объединить пункт 1, 2 и 3 в один лиспик. ;)
     
    #1312
  13. Alexandr-GR

    Форумчанин

    Регистрация:
    9 июн 2011
    Сообщения:
    1.192
    Симпатии:
    947
    Адрес:
    Новосибирск
    А в чем разница между лиспом в два действия и дин. блоком в два действия? Наверное только в том, что лисп - готовое решение))
     
    #1313
  14. landmaling

    Форумчанин

    Регистрация:
    18 май 2015
    Сообщения:
    442
    Симпатии:
    477
    Адрес:
    То тама, то тута
    Как выбрать геоточку из Геоникса средствами Лисп?
     

    Вложения:

    #1314
  15. Серега11

    Регистрация:
    1 июл 2020
    Сообщения:
    9
    Симпатии:
    0
    Разница в том что в лиспе должен использоваться именно прямоугольник или полилиния, по которым в итоге в дальнейшем я узнаю через другой лисп длину этих "под сотню" труб за секунду.
     
    #1315
  16. X-Y-H

    X-Y-H Администратор
    Команда форума Форумчанин

    Регистрация:
    18 май 2007
    Сообщения:
    21.960
    Симпатии:
    7.182
    Адрес:
    Россия
    Серега11, вы не правы, насчет динблоков. Там тоже все считается.
     
    #1316
  17. Серега11

    Регистрация:
    1 июл 2020
    Сообщения:
    9
    Симпатии:
    0
    Лиспом который мне считает длины полилинии, нельзя узнать длину в блоке.
     
    #1317
  18. X-Y-H

    X-Y-H Администратор
    Команда форума Форумчанин

    Регистрация:
    18 май 2007
    Сообщения:
    21.960
    Симпатии:
    7.182
    Адрес:
    Россия
    Серега11, есть другой лисп. Вот вы уперлись, кром того еще и диаметр будет давать. Если блок правильный
     
    #1318
    AGF и DGZ нравится это.
  19. Geodesist

    Форумчанин

    Регистрация:
    26 янв 2009
    Сообщения:
    685
    Симпатии:
    295
    Серега11, попробуйте (без обработки ошибок и исключений, все будет в слое Case).
    Футляр
     

    Вложения:

    #1319
  20. yalapenko

    Регистрация:
    24 дек 2022
    Сообщения:
    10
    Симпатии:
    1
    Добрый день, а может кто сможет помочь с лиспой для подсчета разности. Суть в том что есть два однострочного/многострочного текста с цифрой высоты и хотелось бы получить их разницу в пары кликов в новую текстовую строку. Видел несколько калькуляторов, но постоянный выбор того что у первого значения надо отнимать второе крайне неудобно.
    Например хотелось выбрать текст "172.23", потом выбрать "173.24" и получить новый текст "-1.01" (если положительный ответ, то со знаком +, "+1.01").
     
    #1320

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление