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

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

Войти

Lisp, который облегчит жизнь

Тема в разделе "Autocad", создана пользователем vladislav.blud, 21 ноя 2022.

  1. vladislav.blud

    Регистрация:
    23 сен 2021
    Сообщения:
    24
    Симпатии:
    0
    Здравствуйте, не подскажите, есть ли в природе такой лисп, который позволит проставлять размеры между двумя полилиниями ( как на картинке ) в автоматическом или полуавтоматическом режиме, с задаванием шага, или ручным выбором места размеривания?
     
    #1
  2. sokkol

    Форумчанин

    Регистрация:
    14 май 2013
    Сообщения:
    90
    Симпатии:
    82
    Адрес:
    Tbilisi, Georgia
    Проставляет размеры от вершин одной из полилиний перпендикулярно к другой:
    Код:
    (vl-load-com)
     
    (defun c:DimPl2Pl ( / en1 en2 vrx pt)
     
      (if (and (setq en1 (car (entsel "\nSelect 1st polyline (dim from): ")))
       (= "LWPOLYLINE" (cdr (assoc 0 (entget en1))))
       (setq en2 (car (entsel "\nSelect 2nd polyline (dim to): ")))
       (= "LWPOLYLINE" (cdr (assoc 0 (entget en2))))
       (setq vrx (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget en1))))
       )
        (foreach e vrx
          (if (setq pt (vlax-curve-getClosestPointTo en2 e))
    (command "_.DIMALIGNED" "_none" (trans e 0 1) "_none" (trans pt 0 1) "_none" "@")))
        (princ "\nWrong selection. Two LWPolylines are required.")
      )
      (princ)
    )
     
    #2
    Elena95-97, TulGeo, kheylan66 и 2 другим нравится это.
  3. spoki424

    Регистрация:
    10 дек 2022
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте . нашел лисп в интернете от цифрового текста отнимает или прибавляет нужную нам высоту но при этом округляет ее до сантиметра. как для земляных работ вообще отлично . но мне нужно 3 знака после запятой . помогите пожалуйста исправить код что бы ставило 3 знака .
    заранее большое спасибо
     

    Вложения:

    • tmp.lsp
      Размер файла:
      3,2 КБ
      Просмотров:
      15
    #3
  4. Шурик91

    Форумчанин

    Регистрация:
    26 апр 2016
    Сообщения:
    150
    Симпатии:
    125
    spoki424, в меню гео, в модуле Геодезия уже есть лисп, который вам подойдёт. Вызывается командой otmetka, позволяет выбрать нужное количество объектов, выбрать какую часть числа менять (до запятой, после запятой или целиком), а также предлагает указать нужное количество цифр после запятой.
     
    #4
  5. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.475
    Симпатии:
    1.051
    Адрес:
    Киев
    Загрузи файл в текстовый редактор Блокнот
    Найди строку (если считать строки сверху вниз - 54 строка) (mapcar '(lambda(x)(strcat(r tos x 2 2) "\\P")) res))
    Замени 2 на 3, должно быть так (mapcar '(lambda(x)(strcat(r tos x 2 3) "\\P")) res))
    Сохрани файл.
    0 - округляет до метров
    1 - до дециметров
    2 - до сантиметров
    3 - до миллиметров
     
    #5
  6. slaventi

    Форумчанин

    Регистрация:
    31 янв 2013
    Сообщения:
    34
    Симпатии:
    25
    так же в меню гео, в модуле калькуляторы уже есть лисп ГЕОКАЛЬКУЛЯТОР он прибавляет/отнимает/умножает/делит величину текста (не Мтекст!!!) и исправляет количество знаков после запятой
     
    #6

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

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