Hallo,
Als ik paste to original coordinates gebruik, krijg ik altijd een verschuiving van ca 15m.
Bij beide tekeningen staat ucs op 0,0.
Weet iemand waar dat aan kan liggen?
Robbie
Command: "Wblock" al geprobeert?
Misschien is INSBASE het probleem:
Controleer voordat je gaat "pasten" de INSBASE van beide tekeningen en zet deze op 0,0,0.
Ik weet dat je volgende opmerking eigenlijk helemaal niet wil horen, maar toch gooi ik hem er even in.
"Gebruik het paste to original coordinates dan ook niet!"
Nu even serieus, met welke AutoCAD versie werk je?
Er is nl. een bugje in de wat oudere acad versies, waardoor het knippen en plakken wel eens niet goed werkt.
(http://usa.autodesk.com/adsk/servlet/ps/dl/item?siteID=123112&id=7450124&linkID=8396518)
Ik hoop dat dit je wat verder helpt.
Richard
Ik gebruik autocad 2010, dus dat zou geen probleem meer moeten opleveren.
Ik heb nu in alle tekeningen insbase op 0,0,0 maar nu is er weer een verschuiving in andere richtingen......
Citaat van: Robbiebeverwijk op di 06 10 2009, 10:40:45
maar nu is er weer een verschuiving in andere richtingen......
Is het gebruik van copy met base point ook mogelijk. (CTRL+SHIFT+C) 0,0 en dan past naar 0,0 ?
Michel
Misschien een UCS-probleem? Treedt het probleem ook op als in alle tekeningen het UCS op WORLD staat?
Probeer eens een recover van de bestanden
Zijn alle tekeningen van oorsprong autocad 2010 bestanden ?
Ik werk dagelijks met acad 2010.
Bij mij werkt paste to original coordinates niet via de rechtermuisknop, maar wel via de menubar. edit, paste to orginal coordinates.
Via civil3d kun je eenmalig per tekening p.t.o.c. doen.
Eigenlijk net als draworder. werkt wel als je het in typt, maar niet via rechtermuisknop of de icoontjes.
zeer typisch.:-(
raar gaval dat acad 2010. op het werk hebben we ook eigen templates e.d., maar dat pakt ie ook niet altijd met het op starten.
Citaat van: H@rm op di 06 10 2009, 11:06:49
Is het gebruik van copy met base point ook mogelijk. (CTRL+SHIFT+C) 0,0 en dan past naar 0,0 ?
Michel
Michel,
Dit werkt vlekkeloos.
Bedankt
:vreegoe:
Robbie
Beste Michel,
bij copy met basepoint moet je er wel rekening mee houden dat je in de juiste UCS staat in beide tekeningen.
Ik heb dit voor mijzelf vereenvoudigd met een kleine lisproutine. Deze zet tijdelijk de osnap uit en de UCS op world. Daarna wordt een selectie gecopieerd t.o.v. 0,0. Het commando heb ik c00 genoemd en voor het plakken p00.
Ik heb deze onder de sneltoetsen CTRL+SHIFT+C en CTRL+SHIFT+V gehangen. Nu kan ik altijd lekker snel copieren en plakken op dezelfde locatie.
Groeten,
Reimer.
----------------------------------------------------------------------------------------
;copybase 0,0 in WCS
(defun c:c00 ()
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq obj (ssget))
(if (= obj nil)
(progn
(princ "\nGeen objecten geselecteerd!")
(princ)
)
(progn
(command "ucs" "w")
(command "copybase" "0,0" obj "")
(command "ucs" "p")
(setvar "osmode" oldsnap)
)
)
)
----------------------------------------------------------------------------------------
;pasteclip 0,0 in WCS
(defun c:p00 ()
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(command "ucs" "w")
(command "pasteclip" "0,0")
(command "ucs" "p")
(setvar "osmode" oldsnap)
)
Citaat van: Reimer op do 08 10 2009, 12:03:50
Beste Michel,
Ik heb deze onder de sneltoetsen CTRL+SHIFT+C en CTRL+SHIFT+V gehangen. Nu kan ik altijd lekker snel copieren en plakken op dezelfde locatie.
Reimer,
Dit klinkt weer REUZE handig. Heb je dat in de Acad.pgp geregeld? Ik kan daar nl. niets vinden voor CTRL+SHIFT+C en CTRL+SHIFT+V. Of zoek ik op de verkeerde plek?
Ik heb veel van mijn instellingen op een USB stick staan en daarmee kan ik op bijna elke PC werken zoals ik gewend ben met mijn eigen commando's / lisproutines. Dit lijkt me er ook wel 1 die ik op mijn USB wil hebben.
Michel
Het toekennen van een sneltoets doe je door een eigen menu te maken. Tegenwoordig gaat dat via CUI. Maak hier twee knopjes aan met als macro C00 of P00. Vervolgens kun je aan deze knopjes een sneltoets toekennen. Je moet er dan nog wel voor zorgen dat CTRL+SHIFT+V voor P00 wordt gebruikt en niet meer voor PASTEBLOCK (standaard instelling). Of je moet een andere combinatie bedenken.
Reimer
@Reimer,
Het is gelukt om C00 en P00 aan de sneltoetsen te koppelen. Dat werkt fantastisch. Nu is het een kwestie van consequent tekenen op dezelfde positie. (bv altijd stramien A/1 op 0,0 zetten).
Ander voordeel is dat ik vaak vergat om bij CTRL+SHIFT+C eerst het basis punt op te geven zodat ik alsnog een of ander wazig punt had waar ik in de andere tekening niets kon. Dat is bij deze ook opgelost.
Het zijn de kleine geneugten die het tekenen weer leuk maken.
Michel
Citaat van: Reimer op do 08 10 2009, 12:03:50
Nu kan ik altijd lekker snel copieren en plakken op dezelfde locatie.
@Reimer,
Even een klein beetje mierenn.... . Ik ervaar C00 en P00 als heel prettig laat ik dat voorop stellen. Er is alleen een heel klein dingetje wat mij een beetje iriteerd: Het pasten gaat iets vertraagd.
Mijn vermoeden is dat het komt van het omzetten van de UCS van iets naar World en weer terug naar iets.
Zou er ook een variabele zijn om te controleren of de UCS op world staat? Als UCS op world staat hoef je niets te doen, en anders natuurlijk wel.
De tekeningen waar ik het mee heb getest staan allen in UCS world, en de te pasten selectie was een paar blocken die ook al in de doeltekening aanwezig waren.
Ik werk met AC2009.
Slot concusie is wel dat het nog steeds sneller gaat dan het traditionele Copy / Paste.
Groet Michel
Beste H@rm,
leuk om te horen dat mijn routine prettig vindt. Ik heb er nooit aan gedacht dat het aanpassen van het UCS veel impact heeft wanneer UCSFOLLOW op 1 staat. Daarom heb ik de routine nu zo gemaakt dat deze tijdelijk op 0 wordt gezet. Echter wanneer UCSFOLLOW op 0 staat of je staat al in WCS dan heeft het veranderen van de UCS volgens mij geen merkbaar effect.
Misschien kun je de handelingen die P00 doet eens handmatig doen en kijken waar de vertraging optreed. (dus eerst UCS op World zetten. Dan pasteclip => 0,0. Tenslotte UCS => previous)
Je kunt ook in de lisproutine de regels die het UCS aanpassen even uitschakelen door er ; voor te zetten. Als je dan de routine opnieuw laad kun je testen of het plakken sneller gaat dan eerst.
Als ik wat meer tijd heb zal ik even kijken of ik een controle op WCS kan uitvoeren zodat het overbodig instellen van WCS niet meer nodig is.
Reimer.
;----------------------------------------------------------------------------------------
(defun c:c00 ()
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq UCSVOLG (getvar "ucsfollow"))
(setvar "ucsfollow" 0)
(setq obj (ssget))
(if (= obj nil)
(progn
(princ "\nGeen objecten geselecteerd!")
(princ)
)
(progn
(command "ucs" "w")
(command "copybase" "0,0" obj "")
(command "ucs" "p")
)
)
(setvar "ucsfollow" UCSVOLG)
(setvar "osmode" oldsnap)
)
;----------------------------------------------------------------------------------------
(defun c:p00 ()
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq UCSVOLG (getvar "ucsfollow"))
(setvar "ucsfollow" 0)
(command "ucs" "w");eventueel uitschakelen door ; vooraan te zetten <----
(command "pasteclip" "0,0")
(command "ucs" "p");eventueel uitschakelen door ; vooraan te zetten <----
(setvar "ucsfollow" UCSVOLG)
(setvar "osmode" oldsnap)
)
Citaat van: Reimer op di 13 10 2009, 10:53:38
;----------------------------------------------------------------------------------------
(defun c:c00 ()
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq UCSVOLG (getvar "ucsfollow"))
(setvar "ucsfollow" 0)
(setq obj (ssget))
(if (= obj nil)
(progn
(princ "\nGeen objecten geselecteerd!")
(princ)
)
(progn
(command "ucs" "w")
(command "copybase" "0,0" obj "")
(command "ucs" "p")
)
)
(setvar "ucsfollow" UCSVOLG)
(setvar "osmode" oldsnap)
[color=green](princ)[/color]
)
;----------------------------------------------------------------------------------------
(defun c:p00 ()
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq UCSVOLG (getvar "ucsfollow"))
(setvar "ucsfollow" 0)
(command "ucs" "w");eventueel uitschakelen door ; vooraan te zetten <----
(command "pasteclip" "0,0")
(command "ucs" "p");eventueel uitschakelen door ; vooraan te zetten <----
(setvar "ucsfollow" UCSVOLG)
(setvar "osmode" oldsnap)
[color=green](princ)[/color]
)
Reimer,
Ik heb nog twee keer een (princ) toegevoegd in jouw code om de melding van mijn osmode instelling niet op het scherm te krijgen.
Verder zal ik deze lisp de komende tijd verder testen of hij nu nog vertraagd.
Ik laat nog van mij horen.
Tot zover in ieder geval BEDANKT.
Michel aka H@rm
Volgens mij kun je i.p.v. het wijzigen van het ucs beter trans gebruiken. Deze lisp-functie is speciaal voor dit soort gevallen bedoeld.
Voorbeeld:
(command "_.line" (trans '(0.0 0.0 0.0) 0 1) (trans '(1.0 1.0 0.0) 0 1))
Deze code tekent een lijn van 0,0,0 naar 1,1,0 (coördinaten in wcs) ongeacht de stand van het ucs.
Dit is een erg handige functie, maar in dit geval werkt het niet helemaal. Het insertionpoint wordt wel goed omgerekend maar mijn selectie wordt gedraaid geplakt indien mijn UCS gedraaid is t.o.v. World. Ik werk dus voorlopig nog met het terugzetten naar WCS.
Reimer
Reimer je hebt gelijk. Aan dat probleem had ik niet gedacht.