TheSwamp
Code Red => AutoLISP (Vanilla / Visual) => Topic started by: lqh610 on May 25, 2010, 05:42:19 PM
-
hi all, i need a lisp.Cant explain by E . So pls see dwg below
-
hi all, i need a lisp.Cant explain by E . So pls see dwg below
What, you think this is a LISP supermarket?
-
Looks like QDIM.
-
hi all, i need a lisp.Cant explain by E . So pls see dwg below
What, you think this is a LISP supermarket?
:-D :-D :-D :-D :evil:
-
What, you think this is a LISP supermarket?
No, in a supermarket, you're supposed to pay for what you get...
-
Perhaps his lack of English precludes the refinement to make the request for help more acceptable.
lqh610,
Can you explain what you need help with ??
-
I see that your drawing explains your wishes quite well.
I believe the TAB key option is not required .. seperate commands would be more efficient and more economical to produce.
Are you using AC2004 ??
The continue can be achieved simply ;
Command: DIM
Dim: continue
Specify a second extension line origin or [Select] <Select>: s
Select continued dimension:
Specify a second extension line origin or [Select] <Select>:
Enter dimension text <48.12>:
Dim: *Cancel*
The remainder would require some simple code to do the job.
-
This will change the leg length manually ... pretty easy :)
See the attached Picture
-
for the second Item in your wish list;
You'll need to program so that ;
You select the dimension to divide.
Select the NEW location for the additional extension Line.
Add 2 dimensions programmatically using information extracted from the selected dimension
-
I thought this was worth coding for our own use, SO ....
Have a play with this.
(defun c:Split_Dims (/ sel newpt ent edata elist)
;; codehimbelonga KerryBrown@theSwamp 2010.05.28
(if (and (setq sel (entsel "\nSelect Dimension to Split."))
(setq newpt (getpoint "\Select new Dim Point"))
)
(progn (setq ent (car sel)
edata (entget ent)
elist (vl-remove-if
'(lambda (pair)
(member (car pair)
(list -1 2 5 102 310 300 330 331 340 350 360 410)
)
)
edata
)
)
(entmod (subst (cons 14 newpt) (assoc 14 elist) edata))
(entmakex (subst (cons 13 newpt) (assoc 13 elist) elist))
)
)
(princ)
)
Code added:
-
... and a piccy to show it in action ..
-
and try this for the LegLength Modification
(defun c:LegLengthMod ( / ss dimobjs)
;; codehimbelonga KerryBrown@theSwamp 2010.05.28
(vl-load-com)
(if (and (setq ss (ssget '((0 . "DIMENSION"))))
(setq dimobjs (mapcar 'vlax-ename->vla-object
(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
)
)
)
(foreach dim dimobjs
(vla-put-extlinefixedlensuppress dim :vlax-true)
(vla-put-extlinefixedlen dim (* 2 (vla-get-textheight dim)))
)
)
(princ)
)
-
lqh610 ,
were you able to understand the code and use it ??
-
I really DO enjoy talking to myself :-P
-
I thought this might happen...