CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: cetacad op do 25 03 2010, 09:18:03

Titel: Leader stretchen
Bericht door: cetacad op do 25 03 2010, 09:18:03
Bij het plaatsen van een tekst wil ik een leader toepassen met aan het einde een pijl.
(zie bijgevoegde pdf)

Deze pijl staat onder een hoek van 75graden tov het aangewezen onderwerp (hoek x). Wanneer ik de tekst + leader stretch van a naar b, verandert de hoek x naar hoek y (figuur 1).
Wat ik zou willen is dat de hoek x gelijk blijft aan hoek y (figuur 2).

Weet iemand of dit in te stellen is.

Alvast bedankt.
Fred
Titel: Re:Leader stretchen
Bericht door: roy_043 op do 25 03 2010, 11:55:47
Het Mleader commando (vanaf AC2008) heeft de optie "First Segment Angle":
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%202010%20User%20Documentation/files/WS1a9193826455f5ff104d7f510f19418261-62af.htm
Maar of de horizontale positie van de tekst gehandhaafd blijft is de vraag (in Bricscad 10 bestaat dit commando niet).

Verder lijkt een lisp-oplossing mij zeker mogelijk.
Titel: Re:Leader stretchen
Bericht door: cetacad op do 25 03 2010, 12:43:19
Hallo Roy,

Citaat van: roy_043 op do 25 03 2010, 11:55:47
optie "First Segment Angle":

Volgens mij is dit een instelling om de leader onder een hoek te plaatsen. Bij het stretchen wordt deze waarde niet vastgehouden.

Citaat van: roy_043 op do 25 03 2010, 11:55:47
Verder lijkt een lisp-oplossing mij zeker mogelijk.

Ik ben inderdaad al met een lisp bezig die na het stretchen de leader terugzet naar een hoek van 75graden, maar dit blijft een dubbele handeling.
Waar ik nog niet uit ben: Hoe kom ik een de waarde van de arrow/arrowsize (pijl/dot) als deze aan de leader vast zit?

groeten, Fred
Titel: Re:Leader stretchen
Bericht door: roy_043 op do 25 03 2010, 15:45:25
Citaat van: cetacad op do 25 03 2010, 12:43:19Waar ik nog niet uit ben: Hoe kom ik een de waarde van de arrow/arrowsize (pijl/dot) als deze aan de leader vast zit?
Als er geen override is:
  (if
    (and
      (setq leaEnt (car (entsel "\nSelecteer een leader: ")))
      (setq leaEnt (entget leaEnt '("*")))
      (= (cdr (assoc 0 leaEnt)) "LEADER")
      (setq dimEnt (entget (tblobjname "DIMSTYLE" (cdr (assoc 3 leaEnt)))))
     
    )
    (princ (setq arrowSize (cdr (assoc 41 dimEnt)))) ; DIMASZ
  )
Titel: Re:Leader stretchen
Bericht door: Manu op do 25 03 2010, 16:47:33
Als je strechtst kun je toch het hoekpunt als referentie nemen en daarna met de snap 'nearest point' een punt kiezen op de lijn onder die 75°.. toch?

Manu
Titel: Re:Leader stretchen
Bericht door: EddyBeerke op vr 26 03 2010, 08:11:06
Je kunt een leader gebruiken met meerdere punten:
     B_____C_MText
    /
   /
  /
/
A

Als je dan de tekst naar een andere pos verplaatst krijg je dit:
     B
    / \
   /   \
  /     \___C_MText
/
A

Nu moet je alleen nog zorgen dat je punt B verplaatst op de lijn.

Als je een lisp gaat maken kun je B verplaatsen en in C alleen de Y-coord veranderen voor de MText alleen het verschil van de C Y-coord.
Titel: Re:Leader stretchen
Bericht door: cetacad op vr 26 03 2010, 08:41:52
Citaat van: Manu op do 25 03 2010, 16:47:33
Als je strechtst kun je toch het hoekpunt als referentie nemen en daarna met de snap 'nearest point' een punt kiezen op de lijn onder die 75°.. toch?
Manu

Dat kan inderdaad, maar is niet wat ik wil. De bedoeling is dat wanneer ik orthogonaal stretch de leader de juiste hoek behoud.


Citaat van: EddyBeerke op vr 26 03 2010, 08:11:06
Als je een lisp gaat maken kun je B verplaatsen en in C alleen de Y-coord veranderen voor de MText alleen het verschil van de C Y-coord.


Ik ben al aardig op weg met de lisp. Met behulp van de routine Roy kan ik de lisp nu waarschijnlijk voltooien. Als deze klaar is zal ik hem posten.


Bedankt. Fred.