Sunday, 10 August 2014

Civil 3D API help

Πρόσφατα χρειάστηκε να γράψω ένα ακόμη πρόγραμμα για το Civil 3D 2014. Σε .NET με Visual studio 2013 express edition και Visual Basic.
Οι HTML report lists που εμφανίζει από το QTO είναι μη αξιοποιήσιμες από το EXCEL.
Έπρεπε λοιπόν να κάνω εξαγωγή ανά Alignment/SLG/Material list/Material/Station με συγκεκριμένο format.
Η τρέχουσα έκδοση έκανε expose του QTO για πρώτη φορά! Έλα όμως που ως συνήθως το documentation είναι απλά επιφανειακό. Τέλος πάντων βρήκα και το path και την area propery που ήθελα.
Τεστάροντας όμως είδα ότι έπαιρνα πάντα area value μηδέν. Θεώρησα ότι δεν ήταν τελικά αυτό το ζητούμενο path και property κι άρχισα να ξαναψάχνω στα τυφλά μέσα στο API.
Στα πρόθυρα της παράνοιας κατέληξα δια της εις άτοπον απαγωγή ότι η αρχική μου επιλογή ήταν η ορθή κι ότι υπήρχε bug. Η property ήταν exposed αλλά ο προγραμματιστής ξέχασε να κάνει assign την value. Κι αυτό γιατί τα σημεία που όριζαν την επιφάνεια και ήταν προσβάσιμα κι έδιναν την προσδοκώμενη τιμή όταν την υπελόγιζα με απλό κομπιουτεράκι.
Οπότε έγραψα και μια fucntion για να υπολογίζω μόνος μου την επιφάνεια. Μόνον που τα πράματα δεν ήταν τόσο απλά. Η επιφάνεια μπορεί να ήταν μια σύνθεση από πολλές κλειστές επιφάνειες.
Τελικά όλα πήγαν καλά. Τις επόμενες μέρες θα δώσω και την διεύθυνση όπου αυτό το πρόγραμμα θα μπορεί να γίνει download.

No comments:

Post a Comment