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

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

  1. X-Y-H

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

    Ждём огромного спасибо
     
  2. Browning Zed

    Browning Zed Форумчанин

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

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

    Серега11, вам нужен динамический блок, и не надо никакого лиспа
     
    DGZ и Alexandr-GR нравится это.
  6. Alexandr-GR

    Alexandr-GR Форумчанин

    Я думаю для данной задачи писать программу не обязательно, смотрите в сторону динамических блоков
     
    Steinar, chehoff и X-Y-H нравится это.
  7. chehoff

    chehoff Форумчанин

    ну и команда "выровнять" очень хорошо прямоугольники кладет как надо
     
  8. Alex_Shaton

    Alex_Shaton Форумчанин

    Я для футляров сделал мультилинию, намного лучше чем дин. блок
     
  9. zvezdochiot

    zvezdochiot Форумчанин

    Стандартная команда _ALIGN вставляет любой прямоугольник куда нужно. )
     
  10. Alex_Shaton

    Alex_Shaton Форумчанин

    Проще создать свой тип мультилинии, сохранить в шаблоне или в палитре, смотря в чем работаете
    --- Сообщения объединены, 22 дек 2022, Оригинальное время сообщения: 22 дек 2022 ---
    Футляры рисую постоянно, пробовал разные варианты, но лучше всего мультилиния
     
  11. Qvinto

    Qvinto Форумчанин

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

    Alexandr-GR Форумчанин

    А в чем разница между лиспом в два действия и дин. блоком в два действия? Наверное только в том, что лисп - готовое решение))
     
  14. landmaling

    landmaling Форумчанин

    Как выбрать геоточку из Геоникса средствами Лисп?
     

    Вложения:

  15. Разница в том что в лиспе должен использоваться именно прямоугольник или полилиния, по которым в итоге в дальнейшем я узнаю через другой лисп длину этих "под сотню" труб за секунду.
     
  16. X-Y-H

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

    Серега11, вы не правы, насчет динблоков. Там тоже все считается.
     
  17. Лиспом который мне считает длины полилинии, нельзя узнать длину в блоке.
     
  18. X-Y-H

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

    Серега11, есть другой лисп. Вот вы уперлись, кром того еще и диаметр будет давать. Если блок правильный
     
    AGF и DGZ нравится это.
  19. Geodesist

    Geodesist Форумчанин

    Серега11, попробуйте (без обработки ошибок и исключений, все будет в слое Case).
    Футляр
     

    Вложения:

  20. Добрый день, а может кто сможет помочь с лиспой для подсчета разности. Суть в том что есть два однострочного/многострочного текста с цифрой высоты и хотелось бы получить их разницу в пары кликов в новую текстовую строку. Видел несколько калькуляторов, но постоянный выбор того что у первого значения надо отнимать второе крайне неудобно.
    Например хотелось выбрать текст "172.23", потом выбрать "173.24" и получить новый текст "-1.01" (если положительный ответ, то со знаком +, "+1.01").
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление