CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: Nico160775 op ma 01 02 2010, 16:03:00

Titel: Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen. (opgelost)
Bericht door: Nico160775 op ma 01 02 2010, 16:03:00
Ik heb een 1000-tal tekeningen maar deze staan niet allemaal op cord. 0,0.
Kan dit via een script automatisch op 0,0 gebracht worden?

Bij een move moet men een basispunt selecteren maar dan is het me nog niet automatisch gelukt de linkse onderhoek van de kader selecteren.

Merci...
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: cetacad op ma 01 02 2010, 16:43:13
Is het kader een blok ?
Zo ja, wat is de naam (of zijn de namen indien er verschillende zijn) van dit blok.

Voor de kaders gebruik ik bijv. voor een A1 de naam "kader841x594" en voor een A0 "kader1189x841".

Als het insertionpoint van dit blok linksonder is, kan een lisp naar dit blok zoeken, het insertionpoint bepalen en vervolgens de hele inhoud van de tekening verplaatsen van het gevonden insertionpoint naar 0,0.

Fred

Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op ma 01 02 2010, 16:47:37
Het is een block maar de naam kan wisselen...
het insertpoint is wel linksonder...
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: cetacad op ma 01 02 2010, 17:14:20
Citaat van: Nico160775 op ma 01 02 2010, 16:47:37
Het is een block maar de naam kan wisselen...
het insertpoint is wel linksonder...


Ik zoek een mogelijk om dit blok te filteren zonder deze handmatig te moeten selecteren.
1e mogelijkheid: Is er een gedeeltelijke overeenkomst tussen de namen van de blokken? Bij de namen dit ik gebruik is bijv. de tekst "kader" het filter.
2e mogelijkheid is: Staat er iets buiten het kader getekend of is het kader het uiterste wat op de tekening staat? Zo zou er van buiten de tekening naar binnen toe gezocht kunnen worden naar het eerst voorkomende blok. Dit zou dan het kader moeten zijn.
3e mogelijkheid: Handmatig het kader selecteren. Het verplaatsen kan dan wel automatisch verlopen.

Fred





Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Reimer op ma 01 02 2010, 17:18:14
Indien er niets buiten het block staat kun je ook met EXTMIN de coordinaten opvragen van laatste punt links onderin de tekening.

Reimer
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op ma 01 02 2010, 17:19:34
We gaan ervan uit dat de kader de eerste block is...

Het is zo dat er een block met de tekeningnr. moet ingebracht worden dit lukt allemaal met een script.
Maar nu is nog het probleem dat hij bij sommige tekeningen die block buiten de kader zet doordat die tekeningen niet op cord. 0,0 staan.

Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: cetacad op di 02 02 2010, 08:24:51
Citaat van: Nico160775 op ma 01 02 2010, 17:19:34
We gaan ervan uit dat de kader de eerste block is...

Als ik het goed begrijp is het dus niet nodig dat de tekening verplaatst wordt. Er moet alleen een block geplaatst worden. Op welke positie t.o.v. het kader moet dit block met tek.nr. ingebracht worden ?

Linksonder ?      EXTMIN geeft de hoek linksonder
Rechtsonder ?    X van EXTMAX + Y van EXTMIN geeft de hoek rechtsonder

Fred
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op di 02 02 2010, 08:37:12
Op cord -2,27 van de hoek rechtsonder.

Zou dat lukken, dat je ongeacht waar de kader staat de sticker met dwgnr. op de juiste plaats invoegd?
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: cetacad op di 02 02 2010, 08:55:03
Citaat van: Nico160775 op di 02 02 2010, 08:37:12
Op cord -2,27 van de hoek rechtsonder.

Zou dat lukken, dat je ongeacht waar de kader staat de sticker met dwgnr. op de juiste plaats invoegd?

Als er inderdaad niets buiten het kader getekend is, dan geven de variabelen EXTMIN en EXTMAX de uiterste punten van het kader aan.

(setq INSPUNT  (list   (-(nth 0 (getvar "EXTMAX"))2)  (+ (nth 1 (getvar "EXTMIN"))27)))

Fred


Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op di 02 02 2010, 09:23:45
In mijn script gebruik ik gewoon vaste cord o die block in te voegen mag ik die vast cord vervangen door die regel die je me net gaf?

Of kan ik die alleen gebruiken in een lisp?

Want met scripts kan ik redelijk goed mijn plan trekken met lisp bijna niet...

Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: cetacad op di 02 02 2010, 09:35:48
Dit is een regel uit lisp.
Ik ben niet bekend met scripts, dus ik weet niet of dit te combineren is.

Als je het block (welke in de tekening ingevoegd moet worden) op dit forum zet en aangeeft wat er met dit block moet gebeuren, kan ik er wel een lisp van maken.

Fred
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op di 02 02 2010, 09:55:48
De bedoeling is dat elke tekening een label krijgt met een nummer.
Deze nummer kan herleid worden uit een filename...
vb.       12345678910_00.dwg  wordt nummer in label 12345678910/000/00

In het verleden heb ik reeds een lisp gekregen om deze nummer in te vullen in het label.
Maar ik had toen nog het problemen omdat er een 1000 tal tekeningen zijn waarbij dit moet gebeuren en kan dit niet automatisch laten lopen over die tekeningen want kreeg babe niet opgestart.

Daarom ben ik opnieuw begonnen met een script maar daar kon ik de label niet op de juiste positie krijgen.
Als bijlage heb ik alle info die ik momenteel heb...
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: cetacad op di 02 02 2010, 10:18:37
Ik heb je destijds die lisp gestuurd. Uit je reactie begreep ik dat de lisp goed werkte. Als dat het geval is het is niet nodig babe te gebruiken.

Wanneer de regel :

(load "TEKNUM") (C:TEKNUM)

in Acad2009doc.lsp geplaatst wordt zal de lisp TEKNUM bij het openen van iedere tekening uitgevoerd worden. Het bestand Acad2009doc.lsp staat onder AutoCAD in de directory Support.



voorbeeld:


(load "TEKNUM") (C:TEKNUM)

; Next available MSG number is  104
; MODULE_ID ACAD2009doc_LSP_
;;;    ACAD2007DOC.LSP Version 1.0 for AutoCAD 2009
;;;
;;;    Copyright (C) 1994 - 2008 by Autodesk, Inc.
;;;
;;;    Permission to use, copy, modify, and distribute this software
;;;    for any purpose and without fee is hereby granted, provided

Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op di 02 02 2010, 10:21:32
Ok, ga ik eens testen... :)
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op di 02 02 2010, 10:38:22
Waar in die lisp moet ik die regel toevoegen voor die block in te voegen?
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: cetacad op di 02 02 2010, 10:53:17
Citaat van: Nico160775 op di 02 02 2010, 10:38:22
Waar in die lisp moet ik die regel toevoegen voor die block in te voegen?

Mag ik uit je reactie opmaken dat TEKNUM werkt via Acad2009doc.lsp ?
Als dit zo is, dan wordt de onderhoek toch aangepast m.b.t. de filename.

Als je daarbij nog het blok "Label" wilt plaatsen zal ik de "TEKNUM" moeten aanpassen.

Laat even weten wat de bedoeling is.

Fred
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op di 02 02 2010, 10:56:45
Ja, dat klopt... nummer wordt aangepast... :)
Nu zou de label nog moeten ingevoegd worden....

Heeft je toevallig geen opleiding voor lisp?
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: cetacad op di 02 02 2010, 11:53:46
Citaat van: Nico160775 op di 02 02 2010, 10:56:45
Heeft je toevallig geen opleiding voor lisp?


Hierbij de gewijzigde lisp-routine.

Ik heb Lisp leren gebruiken door de AutoCAD Costumization Guide Release 13 (eng) door te spitten. Het is inmiddels een oudje maar nog steeds zeer bruikbaar. Er zijn ongetwijfeld meer recente uitgaven in het nederlands verkrijgbaar.

Succes, Fred.
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op di 02 02 2010, 11:55:13
Super bedankt...ga dit zeker eens testen....
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: julien op di 02 02 2010, 11:59:32
Hier staan enkele mooie lessen:
http://www.cadsite.be/lisp/lisp.php
Als je er nog hebt, laat maar weten!  :mrgreen:
Titel: Re:Tekeningen die niet gelijk staan allemaal op cord. 0,0 brengen.
Bericht door: Nico160775 op di 02 02 2010, 12:00:30
thanks...