Goede dag allemaal,
Ik ben opzoek naar een variant van "X Y coordinaten snijpunten lisp" zie verderop in dit topic.
Dit is al een mooi begin punt om iets te ontwikkelen om de verbindingen tussen gebouwen te bepalen.
Eigenlijk wil ik niet de snijpunten weten maar aan de hand van met de hand te plaatsen blokken de "onderliggende" layers van de polylijnen bepalen en uitgeven in een Xcell lijst
Elke polyline heeft dus zijn eigen layer die ik wil uitlezen. Ook de x-y coordinaten van de gebouwblokken zou ik in de lijst willen hebben. Om de bestemmingen van de verbindingen te bepalen zouden ook de begin en eind coordinaten van de polylijnen in de lijst moeten komen. Hierna is het mogeloijk om in eXcell nog het een en ander te manipuleren om de uiteindelijke lijst te maken.
Helemaal niemand die hier ook iets mee zou kunnen doen? :cry:
Citaat van: acad2012 op wo 13 04 2011, 10:42:33aan de hand van met de hand te plaatsen blokken de "onderliggende" layers van de polylijnen
Het helpt waarschijnlijk als je uitlegt wat je hiermee bedoelt.
Oke misschien niet geheel duidelijke uitlegt.
Er zijn een aantal gebouwen en daartuseen lopen kabels.
Elke kabel (polyline) heeft zijn eigen layer zodat ik hier makkelijk het trace kan volgen.
Er lopen meerdere kabels gemeenschappelijk langs het trace, de bedoeling is om op bepaalde punten in het trace de kabels te bepalen.
Dit zijn geen willekeurige plaatsen maar gemarkeerd door het plaatsen van een blok. Dit blok krijgt een uniek nummer zodat ik straks op die plek kan bepalen welke kabel (layer) hier loopt. Misschien dat het plaatje/tekening en deze tekst het iets duidelijker maken.
Eigenlijk wil ik op een bepaald punt (insertpoint van een blok) de layers bepalen van de polylijnen die dit punt kruizen en dit naar een excellijst uitlezen.
Met de directe koppeling naar Excel kan ik je niet helpen. Ik gebruik zelf namelijk een ander Office pakket. De bijgevoegde lisp maakt daarom een csv-bestand aan. Laat even weten of het bij jou ook werkt!
Citaat van: roy_043 op di 03 05 2011, 14:56:32
Met de directe koppeling naar Excel kan ik je niet helpen. Ik gebruik zelf namelijk een ander Office pakket. De bijgevoegde lisp maakt daarom een csv-bestand aan. Laat even weten of het bij jou ook werkt!
Wat moet je selecteren?
Een block werkt bij niet.
@ EddyBeerke:
In de voorbeeldtekening kun je in principe alles selecteren. Het programma filtert op inserts met de naam $SnijNr. Deze inserts moeten een attribute hebben met een geheel getal als waarde.
OK, het werkt.
Ik had dus zelf een block gemaakt met en zonder attr.
Maar het block kwam niet door het filter heen.
Nu is het nog een kleinigheid om de coords erbij te doen lijkt me.
Citaat van: EddyBeerke op wo 04 05 2011, 09:22:04
OK, het werkt.
Goed om dat te horen. Het is niet moeilijk om ook coördinaten uit te lezen. Hoewel het iets meer is dan "een kleinigheid". Het is mij echter nog steeds niet duidelijk hoe en waar deze coördinaten in de lijst moeten komen te staan.
De huidige "uitdraai" heeft als probleem dat elke laagnaam meerdere keren voorkomt. Als achter elke laagnaam coördinaten worden geplakt komt ook deze data meervoudig voor. Dat lijkt mij niet de bedoeling.
Huidige uitdraai:
1;"10K7534";"10k8975";"10K9999"
2;"10K7534"
3;"10k8975";"10K9999"
4;"10k8975"
5;"10K9999"
Geweldig!!! de uitdraai is precies wat ik zocht CSV file kun je in excel inlezen en bewerken voor de uiteindelijke lijst.
Dus als er nu nog de coordinaten van de blokjes van de gebouwen en de begin en eindpunten van de polilijnen bij kunnen ben helemaal blij
Citaat van: roy_043 op wo 04 05 2011, 10:02:38
...
Als achter elke laagnaam coördinaten worden geplakt komt ook deze data meervoudig voor. Dat lijkt mij niet de bedoeling.
Huidige uitdraai:
1;"10K7534";"10k8975";"10K9999"
2;"10K7534"
3;"10k8975";"10K9999"
4;"10k8975"
5;"10K9999"
Ik denk dat het insertionpoint van het block er bij moet verder weet ik het niet wat de bedoeling is:
1;Xcoord;Ycoord;"10K7534";"10k8975";"10K9999"
2;Xcoord;Ycoord;"10K7534"
3;Xcoord;Ycoord;"10k8975";"10K9999"
4;Xcoord;Ycoord;"10k8975"
5;Xcoord;Ycoord;"10K9999"
Nog een kleine toevoeging om de bestemming te bepalen heb ik de coordinaten van het insertpoint van de gebouwen nodig en de coordinaten van de polilijnen. Misschien in een tweede stap:
gebouw1 x-coord y-coord
polylijn_laag begin-x_coord eind-y_coord
Later kunnen we dan de lijst afmaken door een match te zoeken van de x-y coordinaten.
in ieder geval alvast bedankt voor de hulp
Bijgevoegd:
GetCableData2.lsp
Als je alles selecteert in de voorbeeldtekening dan geeft deze lisp deze uitdraai:
"TRACEE-NUMMER";"KABELCODE"
1;"10K7534";"10k8975";"10K9999"
2;"10K7534"
3;"10k8975";"10K9999"
4;"10k8975"
5;"10K9999"
"KABELCODE";"X-BEGIN";"Y-BEGIN";"X-EIND";"Y-EIND"
"10K7534";183,708;333,942;278,594;378,479
"10k8975";278,594;378,479;385,365;336,292
"10K9999";278,594;378,479;440,621;346,333
"GEBOUWCODE";"X";"Y"
"Gebouw 1";183,708;333,942
"Gebouw 2";278,594;378,479
"Gebouw 3";385,365;336,292
"gebouw 4";440,621;346,333
Geweldig man, dit is precies wat ik zoek/zocht. :D
Thanx
Geweldig mannen, het lijkt echt te gaan werken.
Heb ik het volgende nog te wensen:
De tekening is opgebouwd uit verschillend Xrefs dus gebouw 1 in xref_1 en gebouw 2 in Xref_2 met hun bijbehorende kabels. Is de selectie ook hiermee uit te breiden? De informatie in welke Xref het gebouw/de kabel staat hoeft niet in de lijst terug te komen maar mag uiteraard wel.
Bij het begin punt en het eindpunt van de kabel graag een uitbreiding in de lijst met de lengte van de polyline.
Ik heb de lisp routine proberen te begrijpen, maar snap hier als beginneling niet echt veel van.
Is het mogelijk om hier en daar een commentaar regeltje in te voegen met een kleine uitleg?
Wil het graag ook begrijpen en niet alleen gebruiken.
Mvgr en bedankt voor de moeite
Bij het vorige bricht misschien vergeten een bijlage met een voorbeeld van de opgebouwde tekening.
Voorde rest is de output van de lijst perfect!!
Beste acad2012, Beste Henk,
N.a.v. jouw PB over dit onderwerp de volgende reactie:
Jammer dat je in jouw eerste bericht een verkeerde voorbeeldtekening hebt verstrekt. Want het op deze tekening gebaseerde programma heeft al te veel tijd gekost en ik kan het voor mijzelf niet verantwoorden nog meer uren aan dit onderwerp te besteden. Ik ben ervan overtuigd dat jouw wensen uitvoerbaar zijn, maar ze vereisen een aanpassing (uitbreiding) van het programma die nog eens ca. 80% extra tijd zou vragen. En dat is binnen het kader van dit forum niet reëel.
Alle reden dus om zelf met lisp aan de slag te gaan. Dan kun je al jouw wensen zelf in vervulling laten gaan!
Mijn programma is wat te complex voor echte beginners. Het toevoegen van commentaar heeft daarom niet veel zin. De onderstaande links zijn een betere inleiding in de "lisp-kunde".
Ik kan deze Duitse website ten zeerste aanbevelen:
http://www.autolisp-tutorial.mapcar.net/
Nog een site:
http://www.afralisp.net/
Een aantal lessen van afralisp is vertaald in het Nederlands:
http://www.cadsite.be/lisp/lisp.php
Heel veel succes met jouw lisp-carrière!
Groet, Roy.
In ieder geval bedankt voor de eerste opzet. Het verstrekken van een "verkeerde" tekening heeft overigens te maken met de gewijzigde opzet van de tekening. Ook voor het opzetten van tekeningen geld dat het eigenlijk een constant leer proces is.
Jammer maar helaas, misschien is er iemand die ook iets ziet in de lisp routine en die meer ervaring heeft met lisp dan ik zodat we de routine kunnen aanpassen.
Wat er nog ontbreekt is de lengte van de polyline en de informatie ophalen uit verschillende Xref's.
Het alternatief is om alle Xrefs te insertyen in 1 tekening en dan de routine opstarten, dit gaat ook maar is niet zo'n mooie oplossing.