1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны периодические перебои в работе.

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

Discussion in 'Autodesk' started by Германup, Feb 3, 2014.

  1. geo_rva

    geo_rva Форумчанин

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

    (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)
    )
    )
     

    Attached Files:

  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
     

    Attached Files:

  11. trir

    trir Форумчанин

  12. ivsem

    ivsem Форумчанин

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

    Attached Files:

  13. "Насос" у меня есть, а нужно "ведро" для переноса скаченного.
     
  14. trir

    trir Форумчанин

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

    trir Форумчанин

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

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

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

    Attached Files:

  19. trir

    trir Форумчанин

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

    Attached Files:

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice