Autore |
Discussione  |
|
arri
Utente Master
Regione: Lombardia
14951 Messaggi |
Inserito il - 11 febbraio 2011 : 07:57:22
|
(defun c:LTS (/ _draw ss gr)
;; Dynamically change LTScale of selected object(s)
;; Requried subroutines: AT:SS->List
;; Alan J. Thompson, 07.06.10
(defun _draw (p1 p2) (redraw) (grdraw p1 p2 3 1) (/ (distance p1 p2) 100.))
(if (setq ss (AT:SS->List (ssget "_:L" '((0 . "ARC,ELLIPSE,CIRCLE,*LINE"))) T))
(while (and (eq 5 (car (setq gr (grread T 15 1)))) (vl-consp (cadr gr)))
(foreach x ss
(vl-catch-all-apply
(function vla-put-linetypescale)
(list
x
(_draw
(trans (vlax-curve-getClosestPointTo
(car
(vl-sort
ss
(function
(lambda (a b / pt)
(< (distance
(vlax-curve-getClosestPointTo a (setq pt (trans (cadr gr) 1 0)))
pt
)
(distance (vlax-curve-getClosestPointTo b pt) pt)
)
)
)
)
)
(trans (cadr gr) 1 0)
)
0
1
)
(cadr gr)
)
)
)
)
)
)
(redraw)
(princ)
)
(defun AT:SS->List (SS VLA)
;; Convert selection set to list of ename or vla objects
;; SS - SSGET selection set
;; VLA - T for vla objects, nil for ename
;; Alan J. Thompson, 04.01.10
(if (eq 'PICKSET (type SS))
((lambda (i / e l)
(while (setq e (ssname SS (setq i (1+ i))))
(cond (VLA (setq l (cons (vlax-ename->vla-object e) l)))
((setq l (cons e l)))
)
)
)
-1
)
)
)
http://www.cadtutor.net/forum/showthread.php?56736-Dynamic-LTSCALE&p=384308&viewfull=1#post384308
|
|
aforza
Utente Master
Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)
1798 Messaggi |
Inserito il - 11 febbraio 2011 : 14:35:29
|
ciao,
forse su 2011 non funziona??
errore: no function definition: VLAX-ENAME->VLA-OBJECT
ciao |
Andrea Forza
CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22" |
 |
|
arri
Utente Master
Regione: Lombardia
14951 Messaggi |
Inserito il - 11 febbraio 2011 : 14:55:58
|
Messaggio inserito da aforza
ciao,
forse su 2011 non funziona??
errore: no function definition: VLAX-ENAME->VLA-OBJECT
ciao
all'inizio devi inserire
(vl-load-com) |
 |
|
Giuseppe Mauro
Amministratore

Regione: Campania
Prov.: Napoli
2707 Messaggi |
Inserito il - 11 febbraio 2011 : 16:29:12
|
io ho solo variato il parametro in rosso, perche' disegnando in unita', il rapporto mi veniva troppo piccolo da vedere
(defun _draw (p1 p2) (redraw) (grdraw p1 p2 3 1) (/ (distance p1 p2) 1.))
|
 |
|
Roberto07
Utente Master

Regione: Lazio
Prov.: Roma
Città: Sabina Italia
1042 Messaggi |
Inserito il - 11 febbraio 2011 : 16:38:13
|
Ciao, ma che fa? Sembra che funzioni ma le linee tratteggiate rimangono uguali... cambia ltscale? In base a che?  |
 |
|
Giuseppe Mauro
Amministratore

Regione: Campania
Prov.: Napoli
2707 Messaggi |
Inserito il - 11 febbraio 2011 : 16:52:52
|
cambia LTSCALE dinamicamente (lo vedi mentre lo fai). Ti sembra uguale per via di quel rapporto 100 che io ho modificato in 1. Modificalo e poi vedrai che le differenze le noti molto di piu'. |
 |
|
Roberto07
Utente Master

Regione: Lazio
Prov.: Roma
Città: Sabina Italia
1042 Messaggi |
Inserito il - 11 febbraio 2011 : 17:09:33
|
Fatto. Continuo a non vedere differenze.... Boh Se aggiusta la visibilità forse non in bylayer...  |
 |
|
aforza
Utente Master
Regione: Italia
Prov.: Padova
Città: Cavarzere(VE)-Monselice(PD)
1798 Messaggi |
Inserito il - 11 febbraio 2011 : 17:50:02
|
| Messaggio inserito da arri
Messaggio inserito da aforza
ciao,
forse su 2011 non funziona??
errore: no function definition: VLAX-ENAME->VLA-OBJECT
ciao
all'inizio devi inserire
(vl-load-com)
|
si si mi son ricordato che me lo avevi gia detto... questa cosa è stupenda
ciao
|
Andrea Forza
CadWorx 2014 & Plant3D AutoCAD 2014 su Seven 64bit - Dell Vostro i7 ram 8gb - doppio monitor Hanns-g 22" |
 |
|
Giuseppe Mauro
Amministratore

Regione: Campania
Prov.: Napoli
2707 Messaggi |
Inserito il - 11 febbraio 2011 : 17:53:58
|
Si sistema anche la bylayer... ma usi un tipo di linea tratteggiata(tratteggiata, trattopunto, nascondi...) o usi la continua?
Fa una linea lunga 6, fa uno zoom sulla linea e poi lanci LTS e la vedi cambiare (con quel parametro ad 1.) Se lo hai originale a 100 devi fare una linea lunga 600, fa uno zoom e poi lanco LTS |
 |
|
Roberto07
Utente Master

Regione: Lazio
Prov.: Roma
Città: Sabina Italia
1042 Messaggi |
Inserito il - 11 febbraio 2011 : 18:12:44
|
Giusè ci rinuncio. Grazie per l'aiuto ma io non riesco a vedere differenze. Forse mi si dovrebbe presentare una situazione brutta e questo comando interviene prima che si modifichi manualmente LT, io però mi sono messe queste piccole macro sul menù e finora non ho mai sofferto più di tanto. Certo se passo da 1:100 a 1:10.000 qualche problema appare.....
Immagine inserita:
 36,93 KB
 |
 |
|
Giuseppe Mauro
Amministratore

Regione: Campania
Prov.: Napoli
2707 Messaggi |
Inserito il - 12 febbraio 2011 : 09:06:42
|
Robe' figurati. Comunque con le tue macro hai gia un'ampia panoramica dei vari valori possibili di LTSCALE Era solo comodo magari se hai piu linee simili (tipo impianti), con il quale puoi differenziare vari tratti. Ma questo lisp non e' per nulla indispensabile.
|
 |
|
|
Discussione  |
|