Как через AutoLisp прописать программу, с помощью которой можно автоматически установить значения над и под размерной линией, равные величине размера?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как через AutoLisp прописать программу, с помощью которой можно автоматически установить значения над и под размерной линией, равные величине размера?

Как через AutoLisp прописать программу, с помощью которой можно автоматически установить значения над и под размерной линией, равные величине размера?

Ответ
Поиск в этой теме
Непрочитано 28.06.2023, 11:50 #1
Как через AutoLisp прописать программу, с помощью которой можно автоматически установить значения над и под размерной линией, равные величине размера?
Hanadzono
 
Регистрация: 28.06.2023
Сообщений: 2

В AutoLisp не разбираюсь. Автокад в текстовой строке в свойствах размерной линии не понимает функцию <>\X(<>), лишь только \X(<>) или <>\X(). Версия AutoCad 2020. Пробовал прописывать как (defun C:TESTBERT () (if (> 5000 <>) DIMADD "<>\X(<>)" "<>\X(<>)" "" 5000) (princ) )
;DIMPAV = add PAVEMENT text to dimension, но в этом случае автокад просто не видит функцию при вводе, хотя файл предварительно был успешно загружен в AutoCad.
Нужен код, который позволит автоматически проставлять физ размер автокада над и под размерной линией
Просмотров: 902
 
Непрочитано 28.06.2023, 13:19
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Код:
[Выделить все]
;;;Текст над линией
(defun C:DIMUP ()(vl-load-com)(vla-put-textoverride (vlax-ename->vla-object (car(entsel))) "<>"))
;;;Текст под линией
(defun C:DIMDN ()(vl-load-com)(vla-put-textoverride (vlax-ename->vla-object (car(entsel))) "\\X<>"))
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 28.06.2023, 13:41
#3
Hanadzono


 
Регистрация: 28.06.2023
Сообщений: 2


Эти две команды строчки кода можно объединить в одну, чтобы прописывалось одновременно и сверху, и снизу?
Миниатюры
Нажмите на изображение для увеличения
Название: 2023-06-28_13-37-56.jpg
Просмотров: 47
Размер:	110.7 Кб
ID:	256956  
Hanadzono вне форума  
 
Непрочитано 28.06.2023, 16:39
#4
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Нет, текст внизу нужно считать
Код:
[Выделить все]
;;Текст над линией
(defun C:DIMUP ( / obj)
  (vl-load-com)
  (if (setq obj (car(entsel)))
    (progn
      (setq obj (vlax-ename->vla-object obj))
      (vla-put-textoverride obj
      (strcat
        "<>\\X("
        (vla-get-TextPrefix obj)
        (VL-STRING-SUBST
          (getvar "DIMDSEP")
          "."
          (rtos (vla-get-Measurement obj)
              (vla-get-UnitsFormat obj)
              (vla-get-PrimaryUnitsPrecision obj)
              )
          )
              (vla-get-TextSuffix obj)
        ")")
        )
      )
    )
  (princ)
  )
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как через AutoLisp прописать программу, с помощью которой можно автоматически установить значения над и под размерной линией, равные величине размера?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли прорисовывать блоки в AutoCAD2007 через C# ghost Программирование 51 18.01.2012 19:53
Можно ли в окне свойств размера настроить так чтобы текст размера всегда был горизонтальным? МишаИнженер AutoCAD 12 29.12.2011 12:11
Как сделать что бы открывать и сохранять файлы можно было как обычно через мышку, а не через командную строку? beslan AutoCAD 1 17.10.2011 11:43
Можно ли установить чуствительность привязок? IIpoRock AutoCAD 9 29.12.2009 23:29
SolidWorks: надписи под размерной линией Vlaword SolidWorks 1 15.08.2008 17:20