FastFiber

Leader stretchen

Gestart door cetacad, do 25 03 2010, 09:18:03

Vorige topic - Volgende topic

cetacad

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

roy_043

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.

cetacad

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

roy_043

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
  )

Manu

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
AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6

EddyBeerke

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.
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/

cetacad

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.