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

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

  1. geo_rva

    geo_rva Форумчанин

    Есть лисп DIMRR, проставляющий в знаменателе размерной линии новое значение размера, равное номиналу + случайное значение в заданном диапазоне (работает как с массовым предварительным выбором, так и указанием поштучно). Может кто-нибудь переделать его так, чтобы значение в знаменателе проставлялось в исходном размере, а не создавался новый с наложением на оригинал?
    Лисп DIMRR (раскрыть)

    (defun c:DIMRR (/ *actdoc* selset item temp_text i To From +Sign Diff Num)
    (vl-load-com)
    (setq *actdoc* (vla-get-activedocument (vlax-get-acad-object)))
    (vla-startundomark *actdoc*)
    (initget 5)
    (setq To (getreal "Max величина разброса значений: "))
    (setq From (- 0 To))
    (setq +Sign (if (< From 0)
    "+"
    ""
    )
    )
    (setq Diff (- To From))
    (setq selset (ssget "_:L" '((0 . "DIMENSION"))) i '-1)
    (while (and selset
    (setq item (ssname selset (setq i (1+ i))))
    ) ;_ end of and
    (if (and (member '(100 . "AcDbAlignedDimension") (entget item))
    (setq item (vlax-ename->vla-object item))
    (member (vla-get-textoverride item) '("" "<>"))
    )
    (progn
    (setq dmob (vla-copy item))
    (vlax-put-property dmob "textcolor" 0)
    (setq dimtext
    (rtos (vla-get-measurement dmob)
    (vla-get-UnitsFormat dmob) (vla-get-PrimaryUnitsPrecision dmob)))
    (setq dimtext (atof dimtext))
    (setq Num (- To (* Diff (vk_RandNum))))
    (setq dimtext (+ dimtext Num))
    (setq dimtext (rtos dimtext
    (vla-get-UnitsFormat dmob) (vla-get-PrimaryUnitsPrecision dmob)))
    (if (/= (vla-get-DecimalSeparator dmob) ".")
    (setq dimtext
    (vl-string-subst (vla-get-DecimalSeparator dmob) "." dimtext)
    )
    )
    (vla-put-TextOverride dmob (strcat "<>\\X" dimtext))
    (entmod
    (subst (cons 8 "0")
    (assoc 8 (setq item (entget(vlax-vla-object->ename dmob))))
    item)
    )
    ) ;_ end of progn
    ) ;_ end of if
    ) ;_ end of while
    (vla-endundomark *actdoc*)
    (princ)
    ) ;_ end of defun
    (defun vk_RandNum (/ modulus multiplier increment random)
    (if (not *seed*)
    (setq *seed* (getvar "DATE"))
    )
    (setq modulus 65536
    multiplier 25173
    increment 13849
    *seed* (rem (+ (* multiplier *seed*) increment) modulus)
    random (/ *seed* modulus)
    )
    )
     

    Вложения:

    • DIMRR.lsp
      Размер файла:
      1,8 КБ
      Просмотров:
      11
  2. Пользуются привязками, но не попадают часто, не могу их насиловать, ругаться смысла нет, старость. Только уход на пенсию им поможет))
     
  3. А я обычно слой (фактические размеры), который создает DIMRR выделяю (выбрать аналог, либо быстрый выбор), затем копирую и сразу удаляю, скопированное вставляю с исходными координатами в новый чертеж, где все размеры взрываю и так же выбором аналога копирую только текст, который вставляю с исходными координатами в основной чертеж. Ну еще сразу подкрашиваю текст в красный цвет.
     
  4. geo_rva

    geo_rva Форумчанин

    Я удаляю оригинал (копия у меня создается в виде числитель/знаменатель, т.е. проект/факт в слое "0" чтобы проще отделять оригиналы от копий для дальнейшего удаления), а копию перевожу в слой с размерами. Вот этих-то лишних для меня операций (удаление оригинала и перевод копии в другой слой) я и пытаюсь избежать.
     
  5. Здравствуйте, подскажите пожалуйста, как сделать в автокаде сжатие МТекста не заходя в каждый текст. Т.е. имею 100 кусков Мтекста и нужно парой кликов сделать сжатие до 0,7 например.
     
  6. trir

    trir Форумчанин

    убить внутренне форматирование
     
  7. Спасибо за оперативный ответ, но я ничего не понял, как это сделать и как это поможет.
     
  8. trir

    trir Форумчанин

    _kpblc-clear-mtext
    если нет внутренего форматирования - сжатие будет братся из стиля текста
     
  9. Спасибо, скачал 3 лиспа, буду разбираться)
     
  10. Помогите запустить .lis-пы.
    Скачено с непонятного сайта
    Очень нужно.
    Acad3DMap2011
    Win7
    64 bit
     

    Вложения:

    • Object Data.rar
      Размер файла:
      18,3 КБ
      Просмотров:
      12
  11. trir

    trir Форумчанин

    месье знает толк в извращениях

    http://www.4d-technologies.com/
    качай
     
  12. ivsem

    ivsem Форумчанин

    Пробуй. Запус программы - набрать в командной строке DIMRR
    DIMRR01.jpg
     

    Вложения:

    • DIMRR01.lsp
      Размер файла:
      2 КБ
      Просмотров:
      10
  13. "Насос" у меня есть, а нужно "ведро" для переноса скаченного.
     
  14. trir

    trir Форумчанин

    а в чём проблема? у меня работает
     
  15. Подскажите, пожалуйста, как запустить из командной строки любой из .lsp-пов (для примера), и что прописать для запуска кнопкой C^C,,,,.
     
  16. trir

    trir Форумчанин

    Враппер
    главный вопрос - а нахрена?
     
  17. АлексЮстасу

    АлексЮстасу Форумчанин

    https://dwg.ru/pub/9
     
  18. --- Сообщения объединены, 22 ноя 2017, Оригинальное время сообщения: 22 ноя 2017 ---
    Как запустить Конкретно этот .lsp
     

    Вложения:

  19. trir

    trir Форумчанин

    (Disp_AM_EditObjectData)
     
  20. Что означает текст (Disp_AM_EditObjectData)?
    В этом файле меня интересует только одна строка (defun Disp_AM_EditObjectData( / tmp tmp1 )
     

    Вложения:

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