• This forum is the machine-generated translation of www.cad3d.it/forum1 - the Italian design community. Several terms are not translated correctly.

parameter setting with dimaligned

  • Thread starter Thread starter GusGar
  • Start date Start date

GusGar

Guest
Hello, everyone.
I would like to write a lisp routine that, selected a line, the quoti with dimaligned and set the quota lines, extension and arrows "off".
I tried to write (trying to interpret the list on the net):
(defun rppt(nomeent dxf/organization p)
(setq entityta (entget nomeent)
(setq p (cdr)
)
function that obliges you to select the entity. uses entsel function.
(defun sing (prompt / a)
(while (not (setq a (entsel prompt)))
(setq a)
)
(defun c:das ()
(setq nomeent (car (sing "\nselect line: ")
(setq pt1 (rppt nomeent 10)
(setq pt2 (rppt nomeent 11)
(command "_dimaligned" pt1 pt2 pt1)
(princ)
)
(princ)
but I don't know the procedure to set off lines and arrows.
help?
Thank you.
 
Thank you.
I did this:
(defun rppt(nomeent dxf / entita p)
(setq entita)
(setq p (cdr (assoc dxf entita)))
)
funzione che obbliga a selezionare l'entità. utilizza la funzione entsel.
(defun sing)
(while (not (setq a)))
(setq a a)
)
(defun c:daa)
(setvar "cmdecho" 0)
(setq dimstynm "text")
(setvar "dimblk" "_none")
(setvar "made" 0)
(setvar "dimalt" 0)
(setvar "dimaltd" 2)
(setvar "dimaltf" 0.30)
(setvar "dimaltrnd" 0.00)
(setvar "dimalttd" 2)
(setvar "dimalttz" 0)
(setvar "dimaltu" 2)
(setvar "dimaltz" 0)
(setvar "dimasz" 0.0)
(setvar "dimatfit" 3)
(setvar "dimaunit" 0)
(setvar "dimazin" 0)
(setvar "dimblk1" ".")
(setvar "dimblk2" ".")
(setvar "dimcen" 0.03)
(setvar "dimclrd" 256)
(setvar "dimclre" 256)
(setvar "dimclrt" 4)
(set "dimdec" 2)
(setvar "dimdle" 0.00)
(setvar "dimdli" 0.375)
(setvar "dimdsep" ".")
(set "dimexe" 0.0)
(set "dimexo" 0.0)
(set "dimfrac" 0)
(setvar "dimgap" 0.10)
(set "dimjust" 0)
(setvar "dimlfac" 1.00)
(setvar "dimlim" 0)
(setvar "dimlunit" 2)
(setvar "dimlwd" -2)
(setvar "dimlwe" -2)
(setvar "dimrnd" 0.00)
(setvar "dimsah" 0)
(set "dimsd1" 1)
(set "dimsd2" 1)
(set "dimse1" 1)
(set "dimse2" 1)
(setvar "dimsoxd" 0)
(setvar "dimtad" 1)
(set "dimtdec" 2)
(setvar "dimtfac" 0.80)
(setvar "dimtih" 0)
(setvar "dimtix" 0)
(setvar "dimtm" 0.00)
(set "dimtmove" 2)
(setvar "dimtofl" 1)
(setvar "dimtoh" 0)
(setvar "dimtol" 0)
(setvar "dimtolj" 1)
(setvar "dimtp" 0.00)
(setvar "dimtsz" 0.00)
(setvar "dimtvp" 1.20)
(set "dimch" 0.20)
(setvar "dimtzin" 0)
(setvar "dimupt" 0)
(setvar "dimzin" 0)

(command "_dimstyle" "sa" dimstynm)
(if (= (getvar "cmdactive") 1) (command "s""))

(sing "\nseleziona linea: "))))
(setq pt1 (rppt nomeent 10))
(setq pt2 (rppt nomeent 11))

(command "_dimaligned" pt1 pt2 pt1)
(princ)
)
(princ)
It's kind of working.
now I try to write some program lines to reset, at the end of operation, the original quota style.
advice or opinion on the list and possible improvements?
I've been studying for less than a week the lisp and every board is well accepted.
Bye.
 
another method would be to insert a quota with the current quota style, select it and change its lines and arrows.
Is it easier for you?
 
No, even if everything is relative.
the quota is like a block, it contains nested entities, so to access it you have to write code a little more sophisticated.

bye
 
So solved, using the existing quote style:
(defun rppt(nomeent dxf / entita p)
(setq entita)
(setq p (cdr (assoc dxf entita)))
)

funzione che obbliga a selezionare l'entità. utilizza la funzione entsel.
(defun sing)
(while (not (setq a)))
(setq a a)
)

(defun c:daa)
(setvar "cmdecho" 0)
(sing "\nseleziona linea: "))))
(setq pt1 (rppt nomeent 10))
(setq pt2 (rppt nomeent 11))

(set "dimsd1" 1)
(set "dimsd2" 1)
(set "dimse1" 1)
(set "dimse2" 1)
(setvar "dimblk" "_none")

(command "_dimaligned" pt1 pt2 pt1)

(set "dimsd1" 0)
(setvar "dimsd2" 0)

(princ)
)
(princ)
Thank you rpor66.
ah sorry if I turned the 3d into my blog :|.
Next, bye
 

Forum statistics

Threads
44,997
Messages
339,767
Members
4
Latest member
ibt

Members online

No members online now.
Back
Top