yoin

cetacad

Ik heb een block geplaatst bij een bepaalde stand van het UCS.
Wanneer ik mijn UCS draai veranderen de coördinaten van dit block niet, maar wel t.o.v. het nieuwe 0,0-punt van het UCS.

Met andere woorden ik lees in lisp de coördinaten van dit block uit (punt A). Wanneer ik een bijv. een circle om dit block wil tekenen met als center punt A, zal AutoCAD dit punt A t.o.v. het gedraaide UCS uitzetten.

Heeft iemand de oplossing om de coördinaten tussen de verschillende standen van het UCS te corrigeren (zonder het UCS terug te draaien).

Alvast bedankt. Fred.

Reimer

Beste Fred,

door Roy leerde ik de functie trans kennen (http://www.cadsite.be/smf/index.php?topic=3655.msg18867#msg18867)
Deze is voor jou bruikbaar.

Reimer

cetacad

Top. Ik ben weer geholpen.

Bedankt. Reimer (en Roy).

cetacad

Citaat van: cetacad op ma 11 01 2010, 14:32:57
Top. Ik ben weer geholpen.

Bedankt. Reimer (en Roy).


Reimer, ik zag dat je hier ook mee aan het stoeien was. De bijgevoegde routine werkt als matchprop, maar dan voor blokken. De rotatie van het vervangen blok blijft zoals deze oorspronkelijk was.


roy_043

#4
Citaat van: cetacad op ma 11 01 2010, 17:14:39De rotatie van het vervangen blok blijft zoals deze oorspronkelijk was.
Dit klopt als je alleen 2D werkt. Maar als de Z-as van het huidige UCS of van 1 van de blocks niet parallel loopt aan de Z-as van het WCS dan geldt dit niet.

Grote vraag: waarom gebruik je niet (entmod ...)?

(P.S. Ik zal de moderatoren vragen om dit onderwerp naar het AutoLISP-forum te verplaatsen)

cetacad

Citaat van: roy_043 op ma 11 01 2010, 20:33:37
Dit klopt als je alleen 2D werkt. Maar als de Z-as van het huidige UCS of van 1 van de blocks niet parallel loopt aan de Z-as van het WCS dan geldt dit niet.

Grote vraag: waarom gebruik je niet (entmod ...)?


Ik werkt inderdaad alleen met 2D. Met 3D houd ik geen rekening.
Ik had er niet bij stil gestaan dat (entmod ...) ook op deze wijze toepasbaar is. Daarmee wordt het een stuk voudiger.
Wederom bedankt voor de tip. Ik heb de nieuwe routine toegevoegd.