yoin

cadtekenaar19

beste forumlezer,

Ik zit met een probleem wat betreft coordinaten in te voeren in mijn tekening. ik wil namelijk dat bij mijn demensiestijl, de x- en de y-coordinaat onder elkaar staat. Bij de standaart demensiestijlen van autocad kan dit niet. Hier staat de x-coordinaat horizontaal en de y-coordinaat verticaal. Nu wil ik die allebei horizontaal hebben.

julien

Dat kan je veranderen door de 'dymension style manager' te openen met het commando dimstyle.
Hier klik je de gebruikte style aan en dan op modify....
Hier kies je voor het tabblad Text
Rechts onderaan kan je de 'Text alignment' aanpassen.
Jij kiest hier voor Horizonal.

Hopelijk heb ik u hiermee kunnen helpen.

autocadtekenaar19

Dit is helaas niet wat ik bedoel, ik bedoel meer of er een functie bestaat, dat je zowel als je een punt (ordinate) dus de coordinaten van dat punt wil zien, dat je zowel de x- als de Y-coordinate ziet. Nu is het namelijk zo als je ordinate je alleen de x of het y coordinaat ziet, ik hoop dat je nu weet wat ik bedoel.

julien

Nu begrijp ik wat je bedoelt, maar ik vrees dat dit enkel met een lisp op te lossen is. Daar ken ik spijtig genoeg niet genoeg van.  :oops:

autocadtekenaar19

dat is jammer, iig hartelijk dank

Anonymous

Hoi,

Ik heb voor jou hopelijk de goeie lisp routines.

hier is het adres  http://www.cadresource.com/library/lisptz.html

kijk bij xycoords

veel succes

:roll:

Joop

Ik vind dit een leuk probleempje. :)
Toen ik dan ook op de site w-r-here een programmatje tegenkwam besloot ik dit voor jou aan te passen.


(defun c:IDdim ()
 (setq RepeatCommand "Yes")
 (while RepeatCommand
   (setq pt1 (getpoint "Pick point for ID: "))
   (setq pt2 (getpoint "Pick location text: "))
   (if (/= pt1 "")
     (progn
(setq x1 (car pt1))
(setq y1 (cadr pt1))
(setq x (rtos x1 2 4))
(setq y (rtos y1 2 4))
(setq IDX (strcat "X=" x))
(setq IDY (strcat "Y=" y))
;;; (setq IDX x)
;;; (setq IDY y)
(command "leader" pt1 pt2 "" IDX IDY "")
     ) ;_ end of progn
     (setq RepeatCommand nil)
   ) ;_ end of if
 ) ;_ end of while
) ;_ end of defun
(princ "Loaded...type iddim to run.")
(princ)


In de regels 12 en 13 wordt er voor de waardfe X= en Y= geplaatst.
Wil je dit niet dan plaats je aan het begin van deze regels drie keer puntkomma (;;;) en haal je deze weg bij regel 14 en 15.
Uiteraard kun je de teksten X= en Y= ook wijzigen.

veel plezier,
:D
Joop
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

Markske

Hoi Joop,

dit is een leuk lispje om te gebruiken, maar... (er is altijd een maar hé  :wink:)
kan je het ook zo maken, dat er GEEN leaderpijltje aanhangt en de x en y waarde op één regel staan gescheiden door een komma?

Groetjes,
Markske

Citaat van: Joop op do 16 09 2004, 14:06:09


(defun c:IDdim ()
 (setq RepeatCommand "Yes")
 (while RepeatCommand
   (setq pt1 (getpoint "Pick point for ID: "))
   (setq pt2 (getpoint "Pick location text: "))
   (if (/= pt1 "")
     (progn
(setq x1 (car pt1))
(setq y1 (cadr pt1))
(setq x (rtos x1 2 4))
(setq y (rtos y1 2 4))
(setq IDX (strcat "X=" x))
(setq IDY (strcat "Y=" y))
;;; (setq IDX x)
;;; (setq IDY y)
(command "leader" pt1 pt2 "" IDX IDY "")
     ) ;_ end of progn
     (setq RepeatCommand nil)
   ) ;_ end of if
 ) ;_ end of while
) ;_ end of defun
(princ "Loaded...type iddim to run.")
(princ)



Joop

 :pintje: Na de carnaval zal ik er eens naar kijken. :pintje:
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

Markske

Citaat van: Joop op vr 24 02 2006, 10:10:06
:pintje: Na de carnaval zal ik er eens naar kijken. :pintje:

Prettige Carnaval!!!  :duivel1:  :wink:

Joop

Ik kan het toch niet laten en heb er maar meteen een fatsoenlijk programma van gemaakt en wat error-checking toegevoegd.
Hierdoor sluit het programmatje ook (meestal) fatsoenlijk af.


(defun c:IDdim2 ()
  (setq RepeatCommand "Yes")
  (while RepeatCommand
    (setq pt1 (getpoint "Pick point for ID: "))
    (if (= pt1 nil)
      (setq RepeatCommand nil)
      (progn
(setq pt2 (getpoint pt1 "Pick location text: "))
(if (= pt2 nil)
  (setq RepeatCommand nil)
  (progn
    (if (/= pt1 "")
      (progn
(setq x1 (car pt1))
(setq y1 (cadr pt1))
(setq x (rtos x1 2 4))
(setq y (rtos y1 2 4))
(setq IDX (strcat "X=" x))
(setq IDY (strcat "Y=" y))
;;; (setq IDX x)
;;; (setq IDY y)
(command "text" pt2 "" (strcat IDX "," IDY))
      ) ;_ end of progn
      (setq RepeatCommand nil)
    ) ;_ end of if
  ) ;_ end of progn
) ;_ end of if
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of while
) ;_ end of defun
(princ "Loaded...type iddim2 to run.")
(princ)

;|«Visual LISP© Format Options»
(100 2 40 2 T "end of " 80 9 0 0 nil T T nil T)
;*** DO NOT add text below the comment! ***|;

Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

Markske

er zit volgens mij een foutje in...

ik krijg dit:

Command: iddim2
Pick point for ID: Pick location text: text
Current text style:  "Standard"  Text height:  2.5000
Specify start point of text or [Justify/Style]:
Specify height <2.5000>:
Specify rotation angle of text <0>: X=169.4336,Y=120.2421
Requires valid numeric angle or second point.
; error: Function cancelled

Specify rotation angle of text <0>: *Cancel*

Joop

Markske dit is niet echt een fout.
Het komt door een "probleem" dat ik met AutoCAD heb.
Bij mij (Acad 2005) slaat hij de vraag naar de hoogte over en neemt de standaard waarde over (in mijn geval 2,5mm).
Deze waarde kan men instellen via de '_style commando.
Om de routine toch goed te laten werkenmoet je een extra enter toevoegen:

(defun c:IDdim2 ()
  (setq RepeatCommand "Yes")
  (while RepeatCommand
    (setq pt1 (getpoint "Pick point for ID: "))
    (if (= pt1 nil)
      (setq RepeatCommand nil)
      (progn
(setq pt2 (getpoint pt1 "Pick location text: "))
(if (= pt2 nil)
  (setq RepeatCommand nil)
  (progn
    (if (/= pt1 "")
      (progn
(setq x1 (car pt1))
(setq y1 (cadr pt1))
(setq x (rtos x1 2 4))
(setq y (rtos y1 2 4))
(setq IDX (strcat "X=" x))
(setq IDY (strcat "Y=" y))
;;; (setq IDX x)
;;; (setq IDY y)
(command "text" pt2 "" "" (strcat IDX "," IDY))
      ) ;_ end of progn
      (setq RepeatCommand nil)
    ) ;_ end of if
  ) ;_ end of progn
) ;_ end of if
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of while
) ;_ end of defun
(princ "Loaded...type iddim2 to run.")
(princ)

;|«Visual LISP© Format Options»
(100 2 40 2 T "end of " 80 9 0 0 nil T T nil T)
;*** DO NOT add text below the comment! ***|;
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

FastFiber