FastFiber

coordinaten in- en exporteren

Gestart door silverster, wo 18 04 2007, 12:38:23

Vorige topic - Volgende topic

silverster

Hallo,

Is het mogelijk om coordinaten vanuit een txt bestand uit te lezen en deze als punten in autocad te zetten?
en is het dan ook mogelijk om bijvoorbeeld blocks of texten, en dan het insertion point snel een txt bestand te verkrijgen door bijvoorbeeld een lisp routine?

ik heb al veschillende forums nagelopen en verschillende lisp routine's geprobeerd maar tot nu toe met weinig resultaat

alvast bedankt

bart

http://newsline.cadalyst.com/code/browseyear.cfm?yr=2003

en dan even op de pagina zoeken naar import 3d poly

daarmee kan je een lijst punten inlezen
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

silverster

Bedankt voor je snelle respons,
maar is er dan ook een tool van het importeren van een 2d (p)line?

HofCAD

#3
Citaat van: silverster op wo 18 04 2007, 12:38:23
Hallo,

Is het mogelijk om coordinaten vanuit een txt bestand uit te lezen en deze als punten in autocad te zetten?
en is het dan ook mogelijk om bijvoorbeeld blocks of texten, en dan het insertion point snel een txt bestand te verkrijgen door bijvoorbeeld een lisp routine?

ik heb al veschillende forums nagelopen en verschillende lisp routine's gprobeerd maar tot nu toe met weinig resultaat

alvast bedankt

Beste silverster,

Waarom met Lisp?

In een tekstbestand van Notepad(Kladblok) de volgende regels zetten

pline
0,0
1,1
2,4
3,9
4,16
5,25
6,36
7,49

Deze regels kopieren en plakken op de commandoregel van AutoCAD


Een omweg is, om je coordinaten naar een Excel bestand te transporteren
via de Excel 'Wizard tekst importeren'.
( Als men de Wizard in Excel bij het openen niet gebruikt, kan men ook ( nadat
het bestand geopend is) de wizard starten met Data->Tekst naar kolommen...)

Dan kun je de methoden gebruiken die in het onderwep staan:
'Cirkel diameters vanuit exel importeren'.
http://www.cadsite.be/smf/index.php/topic,1491.msg7990.html#msg7990
en
'Dynamic Data Exchange(DDE) methode'
http://www.cadsite.be/smf/index.php/topic,672.0.html

Het voordeel van Excel is, dat je eventueel parametrisch kan werken;
zie de werkbladen Cilinder, Parabool en Rechthoek in HOFCADLT.XLS
http://www.theswamp.org/screens/HOFCADLT.XLS

Als U ingelogd  bent , ziet U het bijgevoegde zip bestand met vier methoden.
Bekijk het werkblad Info van DDE-CIR.XLS voor meer informatie.

Met vriendelijke groet,
HofCAD CSI

PS Drie verschillende manieren van scripting en de DDE methode,
zie de werkbladen Scripting1, Scripting2, Scripting3 en DDE in het
bestand DDE-CIR.xls van DDE-CIR.zip
Indien je niet met AutoCAD 2007, 2008 of 2009 werkt, moet je voor de DDE
methode de variabele ver in module1 veranderen.
Start hiervoor bij Extra->Macro de Visual Basic-editor op, en ga naar module1  
en verander dan het getal in de regel: 'Const ver As Integer = 17'.  
ACADcadabra

silverster

okee bedankt voor de antwoorden,

nu heb ik nog een aanvulling bij de vraag.
stel dat ik aan die coordinaten gelijk een text wil neerzetten is dat dan ook mogelijk volgens het excel bestand?

HofCAD

#5
Citaat van: silverster op do 19 04 2007, 14:12:05
okee bedankt voor de antwoorden,

nu heb ik nog een aanvulling bij de vraag.
stel dat ik aan die coordinaten gelijk een text wil neerzetten is dat dan ook mogelijk volgens het excel bestand?

Beste Silverster,

Dat is ook gewoon mogelijk met kopieren uit Notepad
en plakken op de commandoregel van AutoCAD.
Typ in Notepad de volgende regels in:

TEXT
120,150
5
0
mijn regel1

TEXT
120,130
5
0
mijn regel2

Deze regels kopieren en plakken op de commandoregel van AutoCAD

Ja, dat is ook mogelijk met Scripting en met de DDE methode
in Excel.
Alleen moet bij de DDE methode de variabele Dtexted afhankelijk
van de AutoCAD versie een bepaalde waarde hebben.
(kijk op het werkblad Smid van http://www.theswamp.org/screens/HOFCADLT.XLS)


Met vriendelijke groet,
HofCAD CSI
ACADcadabra

silverster

dit is niet helemaal wat ik bedoel,

ik zal mijn probleem eens toelichten,

er zijn 2500 lichtmasten ingemeten met een naam er aanverbonden.
nu kan ik deze lichtmasten dus inderdaad via de coordinaten inserten in autocad, maar nu wil ik die naam er ook nog bij krijgen, en dat lukt me dus niet.

ik wil dus niet 2500 verschillende namen handmatig erbij gaan zetten

HofCAD

#7
Citaat van: silverster op do 19 04 2007, 15:41:13
dit is niet helemaal wat ik bedoel,

ik zal mijn probleem eens toelichten,

er zijn 2500 lichtmasten ingemeten met een naam er aanverbonden.
nu kan ik deze lichtmasten dus inderdaad via de coordinaten inserten in autocad, maar nu wil ik die naam er ook nog bij krijgen, en dat lukt me dus niet.

ik wil dus niet 2500 verschillende namen handmatig erbij gaan zetten

Beste Silverster,

In bijgevoegd gezipt Excel bestand(DDE-TXT.zip) zie je dat het kan.
Zowel met de scripting methode als met de Dynamic Data Exchange (DDE) methode.
Is het niet een goed idee, dat je me je tekstbestand toestuurt.
Dan kan ik in het weekend, een op maat gemaakte oplossing voor je maken.
Ik wil dan wel ook de Justification, teksthoogte en stiijlnaam van je weten.

Met vriendelijke groet,
HofCAD CSI

PS Emailadres hofcad_CSI@yahoo.com
ACADcadabra

silverster

nog even een aanvullende vraag.

In de GBKN bestaan alle gebouwen uit lijnen.
en vierkant gebouw, zou dus bestaan uit vier coordinaten.

weet iemand ofdat het misschien mogelijk is om deze 4 coordinaten rechtstreeks te exporteren naar bijvoorbeeld een notepad/kladblok of een excel bestand?

Huib

Het gaat om (heel veel) Rijksdriehoekcoordinaten, neem ik aan? Je zou inderdaad iets kunnen maken, wat een punt selecteerd (of misschien allemaal tegelijk), en de x en y van dit punt met een write-line() naar een tekstbestand wegschrijft. Feitelijk de omgekeerde weg van die lichtmasten. Het resultaat is dan een bestand met heel veel 9-cijferige getallen waaraan je niet kunt zien bij welk gebouw ze horen. Wat denk je daarmee te gaan doen?


silverster

daar heb je inderdaad goed over nagedacht ja, en inderdaad dat is ook nog eens een probleem, waar ik waarschijnlijk niet uit komen, maar goed dan moet het maar per gebouw (7000) stuks. maar dan zit nog steeds met eerste probleem, nogmaals ik weet het vanuit microstation wel kan, maar helaas hebben we daar geen licentie voor dus iemand nog een idee voor autocad?

bart

Citaat van: silverster op vr 25 05 2007, 19:18:48
daar heb je inderdaad goed over nagedacht ja, en inderdaad dat is ook nog eens een probleem, waar ik waarschijnlijk niet uit komen, maar goed dan moet het maar per gebouw (7000) stuks. maar dan zit nog steeds met eerste probleem, nogmaals ik weet het vanuit microstation wel kan, maar helaas hebben we daar geen licentie voor dus iemand nog een idee voor autocad?

Natuurlijk kan je met behulp van een lispje of een ander stukje code de coordinaten exporteren
indien de woningen op de een af andere manier in de tekening zijn benoemd dan kan je het nummer of de naam ook mee exporteren.

het e.a het makkelijkst te realiseren hang sterk af van de tekening


Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

Huib

#12
Citaat van: bart op vr 25 05 2007, 22:28:22
indien de woningen op de een af andere manier in de tekening zijn benoemd dan kan je het nummer of de naam ook mee exporteren.
Dit is m.i. geen optie, dit is een voorwaarde. Je moet in 28000 coordinaten op een of andere manier structuur in aanbrengen.
Die regel wegschrijven is geen enkel probleem. Maar als er niets bij staat, zal je eerst 7000 gebouwen van een postcode-huisnr (ik noem maar iets) moeten voorzien. Da's een hoop werk, en is het dan nog steeds interessant?
(Sorry, ik probeer maar pragmatisch te zijn.)

Huib

Iets om even mee te spelen.

(defun c:label (/ xyz xyz1 uprec ptx pty ptz)
  (setq uprec (getint "Label precision: "))
  (setq xyz (getpoint "Pick point: "))
  (setq   ptx (car xyz)
   pty (cadr xyz)
   ptz (caddr xyz)
  ) ; Format the x,y,z coordinates:
  (setq   ptx (rtos ptx 2 uprec)
   pty (rtos pty 2 uprec)
   ptz (rtos ptz 2 uprec)
  ) ; Add commas between the three coordinates:
  (setq xyz1 (strcat ptx ", " pty ", " ptz))
; Write coordinates to the drawing:
  (command "text" xyz 200 0 xyz1) ; Open the data file for appending:
  (setq fil (open "c:\\xyzdata.txt" "a"))
; Write the line of data to the file:
  (write-line xyz1 fil) ; Close the file:
  (close fil)
) ;_ end of defun

http://www.upfrontezine.com/tailor/tailor11.htm
"C:\\" heb ik toegevoegd, en voorlaatste regel aangepast.

bart

Een leuk voorbeeld maar silverster zal er toch echt zelf in moeten duiken om e.a werkzaam te krijgen
indien de gebouwen uit line's bestaan dan zal het erg moeilijk worden om uit te maken welke line's bij elkaar horen.

Als het gesloten pline's zijn is het wel redelijk simpel te doen.
Bij kastrale kaarten staan de aanduidingen van een gebouw meestal binnen de begrenzingen
met het gebouw als wp moet deze tekst dus te selecteren zijn.

nb. er zijn een heleboel gebouwen niet rechthoekig
een gebouw kan dus 3 of  meer coordinaten hebben
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart