Настройка столбцов для многострочного текстового объекта:
- Статический. Задаются значения ширины столбца, количества столбцов, ширины интервала между столбцами (незаполненной области между столбцами) и высоты столбца.
- Динамический. Задаются значения ширины столбца, ширины интервала между столбцами и высоты столбца. Количество динамических столбцов зависит от текста. Настройка столбцов влияет на поток текста, а изменение потока текста может привести к добавлению или удалению столбцов.
- В один столбец. Для текущего многострочного объекта режим настройки столбцов не задан.
Используемые по умолчанию параметры столбцов хранятся в системной переменной MTEXTCOLUMN.
Как настроить качество изображения линий на экране в Автокаде 2015
Как настроить качество изображения линий на экране в Автокаде 2015
Lines display blurry, broken, or unsharp in AutoCAD products
Большое спасибо автору! Смешно сказать, не переходила на более поздние версии в том числе и из-за этой мутной графики. Далеко не сразу нашла эту тему, поэтому, чтобы кому-то после меня было легче: нечеткая графика, размытые линии, утолщение линий в видовых экранах…
Для AutoCAD 2016 и выше, согласно ссылке на Autodesk, нужно сначала отключить HQGEOM (0), а потом LINESMOOTHING (off). Наоборот не работает.
Текст по дуге

How to Run an AutoLISP Program
View HTML Version:
Показать код
;;--------------------=={ CurveText.lsp }==-------------------;;
;; ;;
;; Positions Text along a curve object (arc, circle, spline, ;;
;; ellipse, line, lwpolyline, polyline), and rotates text ;;
;; to fit to the curve accordingly. ;;
;; ;;
;; If run in versions > AutoCAD2000, the resultant text will ;;
;; form an anonymous group. ;;
;;------------------------------------------------------------;;
;; Author: Lee Mac, Copyright © 2012 - www.lee-mac.com ;;
;;------------------------------------------------------------;;
;; Version: 1.4 - 22-02-2012 ;;
;;------------------------------------------------------------;;
(defun c:CurveText ( / sel str obj )
(cond
( (= 4 (logand 4 (cdr (assoc 70 (tblsearch "LAYER" (getvar 'CLAYER))))))
(princ "\nCurrent Layer Locked.")
)
( (and
(setq sel
(LM:SelectionOrText "\nSpecify or Select Text String: "
(function
(lambda ( x ) (wcmatch (cdr (assoc 0 (entget x))) "*TEXT,ATTRIB"))
)
)
)
(or
(and
(eq 'STR (type sel))
(setq str sel)
)
(setq str (cdr (assoc 1 (entget sel))))
)
(setq obj (LM:SelectIf "\nSelect Curve: " 'LM:CurveObject-p))
)
(LM:CurveText str obj)
)
)
(princ)
)
(defun LM:CurveText ( str ent / *error* 3pi/2 a1 a2 a3 acdoc acspc df di dr g1 g2 gr in ln lst ms obj p1 p2 p3 pi/2 ts )
(defun *error* ( msg )
(foreach obj lst
(if
(and
(not (vlax-erased-p obj))
(vlax-write-enabled-p obj)
)
(vla-delete obj)
)
)
(if (null (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*"))
(princ (strcat "\nError: " msg))
)
(princ)
)
(setq acdoc (vla-get-activedocument (vlax-get-acad-object))
acspc (vlax-get-property acdoc (if (= 1 (getvar 'CVPORT)) 'paperspace 'modelspace))
)
(or *offset* (setq *offset* 0.0))
(or *spacin* (setq *spacin* 1.1))
(setq ts
(/ (getvar 'textsize)
(if (LM:isAnnotative (getvar 'textstyle))
(cond ((getvar 'cannoscalevalue)) ( 1.0 ))
1.0
)
)
)
(setq lst
(mapcar
(function
(lambda ( c )
(setq obj (vla-addtext acspc (chr c) (vlax-3D-point (getvar 'VIEWCTR)) ts))
(vla-put-alignment obj acalignmentmiddlecenter)
obj
)
)
(vl-string->list str)
)
)
(setq ms (princ "\nPosition Text: [+/-] Offset, [</>] Spacing")
ln (- (/ (1+ (strlen str)) 2.0))
pi/2 (/ pi 2.0)
3pi/2 (/ (* 3.0 pi) 2.0)
)
(while
(progn
(setq gr (grread t 15 0)
g1 (car gr)
g2 (cadr gr)
)
(cond
( (or (= 05 g1) (= 03 g1))
(setq p1 (trans g2 1 0)
p2 (vlax-curve-getclosestpointto ent p1)
a1 (angle p2 p1)
di (vlax-curve-getdistatpoint ent p2)
dr (angle '(0.0 0.0 0.0) (vlax-curve-getfirstderiv ent (vlax-curve-getparamatpoint ent p2)))
df (- a1 dr)
in ln
a2 (cond
( (and (> dr pi/2) (<= dr pi))
(- pi)
)
( (and (> dr pi) (<= dr 3pi/2))
pi
)
( 0.0 )
)
)
(foreach obj
(if (and (< pi/2 dr) (<= dr 3pi/2))
(reverse lst)
lst
)
(if (setq p3 (vlax-curve-getPointatDist ent (+ di (* (setq in (1+ in)) *spacin* ts))))
(progn
(setq a3 (angle '(0. 0. 0.) (vlax-curve-getfirstderiv ent (vlax-curve-getparamatpoint ent p3))))
(vla-put-TextAlignmentPoint obj
(vlax-3D-point (polar p3 (+ a3 df) (* ts *offset*)))
)
(vla-put-rotation obj (+ a2 a3))
)
)
)
(= 05 g1)
)
( (= 25 g1)
nil
)
( (= 02 g1)
(cond
( (member g2 '(13 32))
nil
)
( (member g2 '(43 61))
(setq *offset* (+ *offset* 0.1))
)
( (member g2 '(45 95))
(setq *offset* (- *offset* 0.1))
)
( (member g2 '(46 62))
(setq *spacin* (+ *spacin* 0.05))
)
( (member g2 '(44 60))
(setq *spacin* (- *spacin* 0.05))
)
( (princ (strcat "\nInvalid Keypress." ms))
)
)
)
( t )
)
)
)
(if (< 15.0 (atof (getvar 'ACADVER)))
(vla-appenditems (vla-add (vla-get-groups acdoc) "*")
(vlax-make-variant
(vlax-safearray-fill
(vlax-make-safearray vlax-vbObject (cons 0 (1- (length lst))))
lst
)
)
)
)
(princ)
)
(defun LM:CurveObject-p ( ent )
(null
(vl-catch-all-error-p
(vl-catch-all-apply 'vlax-curve-getEndParam (list ent))
)
)
)
(defun LM:SelectIf ( msg pred )
(
(lambda ( f / e )
(while
(progn (setvar 'ERRNO 0) (setq e (car (entsel msg)))
(cond
( (= 7 (getvar 'ERRNO))
(princ "\nMissed, try again.")
)
( (eq 'ENAME (type e))
(if (and f (null (f e)))
(princ "\nInvalid Object.")
)
)
)
)
)
e
)
(eval pred)
)
)
(defun LM:isAnnotative ( style / obj xdt )
(and
(setq obj (tblobjname "STYLE" style))
(setq xdt (cadr (assoc -3 (entget obj '("AcadAnnotative")))))
(= 1 (cdr (assoc 1070 (reverse xdt))))
)
)
(defun LM:SelectionOrText ( msg pred / en g1 g2 gr result )
(setq pred (eval pred))
(if msg
(princ msg)
(princ (setq msg "\nSelect Objects or Enter Text: "))
)
(setq result "")
(while
(progn
(setq gr (grread t 13 2)
g1 (car gr)
g2 (cadr gr)
)
(cond
( (= 03 g1)
(if (setq en (car (nentselp g2)))
(if (pred en)
(not (setq result en))
(princ (strcat "\nInvalid Object Selected." msg))
)
(princ (strcat "\nMissed, try again." msg))
)
)
( (= 02 g1)
(cond
( (< 31 g2 127)
(setq result (strcat result (princ (chr g2))))
)
( (= 13 g2)
nil
)
( (= 08 g2)
(if (< 0 (strlen result))
(progn
(setq result (substr result 1 (1- (strlen result))))
(princ (vl-list->string '(8 32 8)))
)
)
t
)
( t )
)
)
( (= 25 g1)
nil
)
( t )
)
)
)
result
)
(vl-load-com)
(princ "\n:: CurveText.lsp | Version 1.4 | © Lee Mac 2012 www.lee-mac.com ::")
(princ "\n:: Type \"CurveText\" to Invoke ::")
(princ)
Почему тормозит AutoCAD 20ХХ?
Обсуждение на форуме «Почему тормозит AutoCAD 20ХХ?»
Проблема
Чертежи AutoCAD, содержащие большие объемы текста или люков, могут ухудшить производительность. В большинстве случаев это связано с более старыми или низкоуровневыми видеокартами, однако в зависимости от объема отображаемых данных могут быть затронуты также графические карты высокого класса.
Причина
Причины Несколько новых системных переменных были введены с AutoCAD 2015. Эти переменные будут отображать информацию о наборах наборов в палитре свойств или объектах с высокой освещенностью при выборе или зависании. Это может повлиять на производительность некоторых графических карт.
Решение
- Закройте панель свойств, пока она не понадобится.
- Измените следующие переменные в AutoCAD (введите их в командной строке):
SELECTIONCYCLING=0UCSDETECT=0ORTHOMODE=0DYNMODE=0ROLLOVERTIPS=0SAVEFIDELITY=0QPMODE=0SNAPMODE=0SELECTIONPREVIEW=0PROPERTYPREVIEW=0COMMANDPREVIEW=0ANNOALLVISIBLE=0WHIPTHREAD=3ISAVEPERCENT=0REGENMODE=0PALETTEOPAQUE=1DRAWORDERCTL=0LAYOUTREGENCTL=0или1QPMODE=0
Если вы работаете в ОС Windows Vista или Windows 7, попробуйте отключить Aero, изменив тему рабочего стола на «Упрощенный стиль Windows».
Тормозит штриховка
В более поздних версиях AutoCAD предварительный просмотр штриховки по умолчанию открывается при наведении перекрестья на замкнутую область. Это может замедлять работу с большими чертежами.
Чтобы отключить функцию:
- В любом чертеже введите
HPQUICKPREVIEWи нажмитеENTER. - Введите
OFFили0и нажмитеENTER.
Как отключить рамку вокруг изображения в AutoCAD
Переменная IMAGEFRAME установлена в 1.
- Введите
IMAGEFRAMEв командной строке и нажмитеEnter. - Введите
0(для полного удаления границы) или2(граница отображается, но не печатается).
UPD: Если рамка не исчезает, установитеIMAGEFRAMEв1, затем в0.
