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

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

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

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

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

  1. geo_rva

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

    Регистрация:
    13 апр 2008
    Сообщения:
    128
    Симпатии:
    85
    Адрес:
    Комсомольск-на-Амуре
    Есть лисп 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 КБ
      Просмотров:
      5
    #521
  2. Ewgenoff

    Регистрация:
    30 авг 2017
    Сообщения:
    14
    Симпатии:
    1
    Пользуются привязками, но не попадают часто, не могу их насиловать, ругаться смысла нет, старость. Только уход на пенсию им поможет))
     
    #522
  3. Sobyan

    Регистрация:
    4 сен 2011
    Сообщения:
    5
    Симпатии:
    7
    Адрес:
    Пермь
    А я обычно слой (фактические размеры), который создает DIMRR выделяю (выбрать аналог, либо быстрый выбор), затем копирую и сразу удаляю, скопированное вставляю с исходными координатами в новый чертеж, где все размеры взрываю и так же выбором аналога копирую только текст, который вставляю с исходными координатами в основной чертеж. Ну еще сразу подкрашиваю текст в красный цвет.
     
    #523
  4. geo_rva

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

    Регистрация:
    13 апр 2008
    Сообщения:
    128
    Симпатии:
    85
    Адрес:
    Комсомольск-на-Амуре
    Я удаляю оригинал (копия у меня создается в виде числитель/знаменатель, т.е. проект/факт в слое "0" чтобы проще отделять оригиналы от копий для дальнейшего удаления), а копию перевожу в слой с размерами. Вот этих-то лишних для меня операций (удаление оригинала и перевод копии в другой слой) я и пытаюсь избежать.
     
    #524
  5. Ewgenoff

    Регистрация:
    30 авг 2017
    Сообщения:
    14
    Симпатии:
    1
    Здравствуйте, подскажите пожалуйста, как сделать в автокаде сжатие МТекста не заходя в каждый текст. Т.е. имею 100 кусков Мтекста и нужно парой кликов сделать сжатие до 0,7 например.
     
    #525
  6. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.266
    Симпатии:
    336
    убить внутренне форматирование
     
    #526
  7. Ewgenoff

    Регистрация:
    30 авг 2017
    Сообщения:
    14
    Симпатии:
    1
    Спасибо за оперативный ответ, но я ничего не понял, как это сделать и как это поможет.
     
    #527
  8. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.266
    Симпатии:
    336
    _kpblc-clear-mtext
    если нет внутренего форматирования - сжатие будет братся из стиля текста
     
    #528
  9. Ewgenoff

    Регистрация:
    30 авг 2017
    Сообщения:
    14
    Симпатии:
    1
    Спасибо, скачал 3 лиспа, буду разбираться)
     
    #529
  10. AL32014

    Регистрация:
    30 июн 2014
    Сообщения:
    7
    Симпатии:
    0
    Помогите запустить .lis-пы.
    Скачено с непонятного сайта
    Очень нужно.
    Acad3DMap2011
    Win7
    64 bit
     

    Вложения:

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

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.266
    Симпатии:
    336
    месье знает толк в извращениях

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

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.071
    Симпатии:
    676
    Адрес:
    Киев
    Пробуй. Запус программы - набрать в командной строке DIMRR
    DIMRR01.jpg
     

    Вложения:

    • DIMRR01.lsp
      Размер файла:
      2 КБ
      Просмотров:
      4
    #532
    barabashkasathalex нравится это.
  13. AL32014

    Регистрация:
    30 июн 2014
    Сообщения:
    7
    Симпатии:
    0
    "Насос" у меня есть, а нужно "ведро" для переноса скаченного.
     
    #533
  14. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.266
    Симпатии:
    336
    а в чём проблема? у меня работает
     
    #534
  15. AL32014

    Регистрация:
    30 июн 2014
    Сообщения:
    7
    Симпатии:
    0
    Подскажите, пожалуйста, как запустить из командной строки любой из .lsp-пов (для примера), и что прописать для запуска кнопкой C^C,,,,.
     
    #535
  16. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.266
    Симпатии:
    336
    Враппер
    главный вопрос - а нахрена?
     
    #536
  17. АлексЮстасу

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

    Регистрация:
    28 май 2012
    Сообщения:
    1.218
    Симпатии:
    428
    Адрес:
    Маськва
    https://dwg.ru/pub/9
     
    #537
  18. AL32014

    Регистрация:
    30 июн 2014
    Сообщения:
    7
    Симпатии:
    0
    --- Сообщения объединены, 22 ноя 2017, Оригинальное время сообщения: 22 ноя 2017 ---
    Как запустить Конкретно этот .lsp
     

    Вложения:

    #538
  19. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.266
    Симпатии:
    336
    (Disp_AM_EditObjectData)
     
    #539
  20. AL32014

    Регистрация:
    30 июн 2014
    Сообщения:
    7
    Симпатии:
    0
    Что означает текст (Disp_AM_EditObjectData)?
    В этом файле меня интересует только одна строка (defun Disp_AM_EditObjectData( / tmp tmp1 )
     

    Вложения:

    #540

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