Custom AutoLISP Εργαλεία για AutoCAD
Προσωπικό project ανάπτυξης custom εντολών σε AutoLISP για την αυτοματοποίηση επαναλαμβανόμενων εργασιών σχεδίασης στο AutoCAD.
Τα εργαλεία
- Εύρεση όμοιων σχημάτων - αυτόματος εντοπισμός και επιλογή γεωμετρικά ταυτόσημων οντοτήτων σε όλο το σχέδιο
- Επιλογή αντικειμένων ανά layer - άμεση επιλογή όλων των αντικειμένων που ανήκουν σε συγκεκριμένο layer
- Break σε όλα τα σημεία τομής - αυτόματο σπάσιμο οντοτήτων σε κάθε σημείο τομής με άλλα αντικείμενα
- και αρκετά ακόμη βοηθητικά εργαλεία προσαρμοσμένα στη ροή εργασίας μου
Το αποτέλεσμα
Εργασίες που προηγουμένως απαιτούσαν δεκάδες χειροκίνητα κλικ εκτελούνται πλέον με μία εντολή - σημαντική εξοικονόμηση χρόνου και λιγότερα σφάλματα σε μεγάλα σχέδια.
Γιατί έχει σημασία
Το project συνδυάζει το υπόβαθρό μου ως πολιτικού μηχανικού με τον προγραμματισμό: κατανοώ και τι πραγματικά χρειάζεται ο σχεδιαστής, αλλά και πώς να φτιάξω το εργαλείο που το λύνει.
Σε λειτουργία
WALL - Σχεδίαση τοίχων
Σχεδίαση τοίχων ως δύο παράλληλες όψεις, με τις γωνίες να ενώνονται σωστά καθώς προχωράς. Ένα αχνό προσχέδιο ακολουθεί τον κέρσορα και δείχνει τον τοίχο - μαζί με το πώς θα κοπεί η γωνία - πριν κάνεις κλικ.
Δέχεται πληκτρολογημένες συντεταγμένες (απόλυτες, σχετικές και πολικές) με ενεργά τα object snaps.
C- κλείσιμο περιγράμματοςU- αναίρεση τμήματοςCheck- έλεγχοςTag- καταχώρηση υπάρχοντων γραμμών ως τοίχου
DOOR - Τοποθέτηση πόρτας
Τοποθέτηση πόρτας από dynamic block, με αυτόματο κόψιμο του ανοίγματος και στις δύο όψεις του τοίχου.
Το block ξαναφορτώνεται από τον δίσκο σε κάθε εκτέλεση, ώστε μια αλλαγή στο αρχείο-πηγή να φτάνει αμέσως στο σχέδιο.
- Κλείδωμα σε τοίχο, με προσχέδιο του ανοίγματος
- Ή ελεύθερη τοποθέτηση, με στάδιο περιστροφής
I- στοιχεία του block
WIN - Τοποθέτηση παραθύρου
Ίδια λογική με το DOOR, για ανοίγματα παραθύρων: dynamic block με αυτόματο κόψιμο του τοίχου και στις δύο όψεις.
- Κλείδωμα σε τοίχο με προσχέδιο, ή ελεύθερη τοποθέτηση
- Το block ξαναφορτώνεται από τον δίσκο σε κάθε εκτέλεση
I- στοιχεία του block
LEVEL - Υψομετρικές ενδείξεις
Υψομετρικές ενδείξεις από έτοιμα blocks: στάθμη πατώματος, παραθύρου ή όψης.
Το μέγεθος δίνεται σε μονάδες σχεδίου, όχι σε πολλαπλασιαστή - λες πόσο ψηλό θέλεις το σύμβολο και το scale υπολογίζεται από τη γεωμετρία του block.
- Αν το block έχει attributes, ανοίγει παράθυρο χτισμένο από τα δικά του πεδία
V- αλλαγή τιμώνI- στοιχεία block
BREAKSEL - Break σε κάθε σημείο τομής
Σπάει κάθε επιλεγμένο αντικείμενο σε κάθε σημείο που τέμνεται με άλλο - δύο σταυρωτές γραμμές γίνονται τέσσερις.
Δουλεύει σε γραμμές, κύκλους, τόξα, polylines, ελλείψεις και splines.
Η εικόνα δεν αλλάζει: τα κομμάτια μένουν στη θέση τους. Φαίνεται με κλικ πάνω σε μια γραμμή.
SMARTDIM - Έξυπνη διαστασιολόγηση
Ένα πλήκτρο για κάθε διάσταση: αναγνωρίζει τι πάτησες και ξεκινά τη σωστή εντολή με το αντικείμενο ήδη επιλεγμένο.
- Γραμμή - παράλληλη διάσταση
- Κύκλος - διάμετρος
- Τόξο - ακτίνα
- Polyline - το τμήμα που πάτησες
Δείχνεις μόνο πού θα καθίσει.
OUTLINEDIM - Μαζική διαστασιολόγηση
Διαστασιολογεί ολόκληρη επιλογή μονομιάς: κάθε αντικείμενο παίρνει τη δική του διάσταση, τοποθετημένη απ' έξω.
- Γραμμή - μήκος
- Τόξο - ακτίνα, μήκος τόξου και γωνία
- Κύκλος - διάμετρος και περίμετρος
- Polyline - κάθε τμήμα χωριστά, με τα καμπύλα να μετρώνται ως τόξα
Επιλογή Box για ένα ορθογώνιο γύρω από όλα.
ALIGNDIMS - Ευθυγράμμιση διαστάσεων
Ευθυγραμμίζει και αποστασιοποιεί ισομερώς όσες διαστάσεις επιλέξεις, με βάση μία που δείχνεις.
LabelPoints - Αρίθμηση σημείων
Κλικ σε σημεία ένα-ένα: καθένα παίρνει POINT και αριθμό που ανεβαίνει.
Η αρίθμηση ακολουθεί τη σύμβαση στάσης - στάση 2 δίνει 201, 202, 203.
Το Continue συνεχίζει από τον τελευταίο αριθμό.
LabelPointWithCords - Σημεία με συντεταγμένες
Κλικ οπουδήποτε και γράφονται οι συντεταγμένες του σημείου δίπλα του.
Επιλέγεις X, Y ή και τα δύο.
MultipleLabelPoints - Μαζική εισαγωγή σημείων
Μαζική εισαγωγή σημείων από Excel ή αρχείο κειμένου, αριθμημένων αυτόματα.
Στο Excel ορίζεις τα δύο εύρη - π.χ. K4:K26 για X και M4:M26 για Y. Δεν χρειάζεται να είναι γειτονικές στήλες.
Πριν σχεδιάσει, τυπώνει τι διάβασε και το εύρος τιμών.
ROOM - Εμβαδομέτρηση χώρων
Κλικ μέσα σε έναν χώρο: ιχνηλατεί το περίγραμμα, μετράει το εμβαδόν, ρωτάει όνομα και γράφει ετικέτα.
Γεφυρώνει τα ανοίγματα των θυρών, ώστε ένα δωμάτιο με πόρτες να μετριέται κανονικά. Οι μονάδες ακολουθούν το σχέδιο (mm/cm/m).
G- ανοχή κενώνT- ύψος κειμένουU- μονάδεςS- πίνακας εμβαδών μέσα στο σχέδιοE- εξαγωγή σε CSV για Excel
JOINALL - Μαζική ένωση
Ενώνει όλα όσα έχεις επιλέξει με μία κίνηση, χωρίς να διαλέγεις αντικείμενο-πηγή.
- Polyline - με ανοχή κενού, για σχέδιο με μικρά χάσματα στις γωνίες
- Join - κρατά τη γραμμή γραμμή, αλλά απαιτεί άκρα που συμπίπτουν ακριβώς
FINDSHAPE - Εύρεση όμοιων σχημάτων
Διαλέγεις ένα ή περισσότερα κομμάτια και σου βρίσκει όλα τα ίδια μέσα στο σχέδιο - όπου κι αν είναι, όπως κι αν έχουν γυρίσει ή καθρεφτιστεί.
Το SELECTSIMILAR του AutoCAD δεν το κάνει αυτό: ταιριάζει κατά τύπο και ιδιότητες, οπότε πιάνει έναν κύκλο 5 μέτρων μαζί μ' έναν των 5 εκατοστών, επειδή τυχαίνει να είναι στο ίδιο layer.
Εδώ αγνοείται layer και χρώμα και μετράει μόνο σχήμα και μέγεθος - χρήσιμο για να μετρήσεις πόσα ίδια παράθυρα έχεις, ή να βρεις αντίγραφα που ξέχασες πάνω-πάνω.
DIMLAYER - Διαστάσεις σε ένα layer
Μεταφέρει όλες τις διαστάσεις του σχεδίου σε ένα layer, δημιουργώντας το αν λείπει.
MTL - Μεταφορά σε layer
Μεταφορά των επιλεγμένων αντικειμένων σε άλλο layer.
AME - Μέτρηση εμβαδού
Μέτρηση εμβαδού.
IMGRID - Εικόνες σε πλέγμα
Μαζική τοποθέτηση όλων των εικόνων ενός φακέλου σε πλέγμα.
QUICKSECTION - Γραμμή τομής
Γρήγορη γραμμή τομής.