Κατά την είσοδό μου στο SkyCiv πριν από λίγους μήνες, ήθελα να βρωμίσω τα χέρια μου με το API και να αρχίσω να γράφω κώδικα. Μέσα σε λίγες εβδομάδες από την έναρξη, μια ευκαιρία προέκυψε για την ανάπτυξη μιας ολοκλήρωσης με Hypar – “την πλατφόρμα επόμενης γενιάς για δημιουργία, σχεδιασμός και κοινή χρήση κτιριακών συστημάτων”.
Ο Hypar με εντυπωσίασε αμέσως ως την τέλεια πλατφόρμα για αρχικό στάδιο σχεδιασμού κτιρίων. Αν μπορούσα να συνδέσω Οι ισχυρές δυνατότητες ανάλυσης και σχεδιασμού του SkyCiv με τον Hypar, Οι αρχιτέκτονες και οι μηχανικοί θα μπορούσαν να εξερευνήσουν διαφορετικές επιλογές σχεδίασης, επιβεβαιώστε τη διαρθρωτική τους σκοπιμότητα και μετρήστε την υλική οικονομία τους, όλα σε μία ζωντανή συλλογική ροή εργασίας.
Στέκεται στους ώμους των γιγάντων
Δεν ήθελα να γράψω κώδικα για όλη τη διαδικασία, απο την αρχη μεχρι το τελος. Ήθελα να μηδενίσω τις Μηχανικές διαδικασίες – οικοδόμηση του μοντέλου και εκτέλεση της ανάλυσης – και αυτοματοποιήστε τους. Εδώ ήταν πολύ χρήσιμο το ευρύ φάσμα λειτουργιών που διατίθενται στην πλατφόρμα Hypar. Θα μπορούσα γρήγορα να μιμηθώ τη διαδικασία του Αρχιτέκτονα και να αντλήσω ένα δομικό σύστημα πλαισίου από αυτό χρησιμοποιώντας μια δέσμη υπαρχουσών λειτουργιών Hypar:
Με βάση το φάκελο του κτιρίου, μέγεθος και ύψος δαπέδου, αυτές οι λειτουργίες μου έδωσαν ένα δομικό πλαίσιο με μερικά μεγέθη φυσικής δέσμης, από το οποίο θα μπορούσα να αρχίσω να σκέφτομαι πώς να δημιουργήσω το μοντέλο δομικής ανάλυσης.
Τα καρύδια & μπουλόνια δημιουργίας συνάρτησης SkyCiv στο Hypar
Στη συνέχεια, έπρεπε να μάθω πώς να δημιουργήσω μια προσαρμοσμένη λειτουργία στην πλατφόρμα Hypar. Η κύρια γλώσσα προγραμματισμού που διατίθεται στο Hypar είναι C # – μια τυχερή σύμπτωση για μένα αφού ήμουν ήδη εξοικειωμένος με το C #.
Όσον αφορά την πραγματική μετάδοση δεδομένων και εντολών στο Structural 3D μέσω SkyCiv, Χρειάστηκε να δημιουργήσω ένα αίτημα http. Δεν είναι πρόβλημα, από το C # (όπως και άλλες δημοφιλείς γλώσσες) έχει ψηθεί στη λειτουργικότητα για τη δημιουργία αιτημάτων http.
💡 Μπορείτε να κάνετε διασύνδεση με το SkyCiv cloud API από οποιονδήποτε κωδικό που μπορεί να υποβάλει αίτημα http
Μηχανικές παραδοχές
Για να δημιουργήσετε το μοντέλο ανάλυσης του κτιρίου, Έπρεπε να πάρω τη δομική διαμόρφωση και να κάνω κάποιες υποθέσεις γι 'αυτό. Για παράδειγμα, Ρύθμισα όλα τα μέλη να χρησιμοποιούν το μεγαλύτερο χαλύβδινο τμήμα Ι που θα ταιριάζει στο βάθος που καθορίζεται από τη συνάρτηση δομικού πλαισίου.
Επίσης, Έθεσα όλα τα μέλη να είναι πλήρως σταθερά, καθώς και τα στηρίγματα (αυτό ήταν αρκετά μη ρεαλιστικό, αλλά ήθελα να λειτουργήσω ολόκληρη η ροή εργασίας, έτσι χρειαζόμουν το μοντέλο για να είμαι εντελώς σταθερός).
Με βάση αυτές τις υποθέσεις, Έγραψα κάποιο κώδικα για να δημιουργήσω αυτόματα τους κόμβους, μέλη, υποστηρίζει και φορτώνει, καθώς και να δώσω εντολή στο SkyCiv Structural 3D να πραγματοποιήσει μια ανάλυση για μένα.
Τέλος, τυλίχτηκα όλα αυτά τα δεδομένα στο αίτημα http και τα έστειλα στο SkyCiv API.
Σκεφτόμαστε τη διαδικασία
Η οικοδόμηση της λύσης επιβεβαίωσε κάποιες υποψίες που είχα εξαρχής – ότι το μεγαλύτερο μέρος της εργασίας είναι η δημιουργία της διάταξης κόμβων και δοκών, πριν καν φτάσουμε στο API. Αν ψάχνετε γράψτε τη δική σας λύση ενάντια στο SkyCiv API – λάβετε υπόψη αυτό.
Επίσης, Έπρεπε να φτιάξω πολλές μηχανικές αποφάσεις (όπως οι σταθερότητες των μελών) στη γενιά μου του μοντέλου. Θα ήταν καλύτερα να εκθέσετε αυτές τις επιλογές στον χρήστη. Αυτό στην πραγματικότητα είναι η ουσία της αυτοματοποίησης των διαδικασιών δομικής μηχανικής – επιλύοντας αυτό που πραγματικά θέλει να ελέγξει ο χρήστης, και τη φροντίδα της βαριάς ανύψωσης (όπως δημιουργία κόμβων και μελών) χρησιμοποιώντας κώδικα προγραμματισμού.
Τρώω το δικό μου dogfood
Ένα άλλο πράγμα που με εντυπωσίασε κατά τη σύνταξη κώδικα για να καλέσω το API σε μια πραγματική εφαρμογή ήταν αυτό: Αφιερώνω πολύ χρόνο δημιουργώντας ένα αρχείο JSON για το αίτημα http. Αντιμετωπίζουν οι χρήστες μας και αυτό? Μπορώ να το αυτοματοποιήσω κάπως? Ίσως να έχει γίνει ακόμη και πριν?
Ευτυχώς για μένα, ο συνάδελφός μου Nilay είχε ήδη δημιουργήσει ένα εκτεταμένο περιτύλιγμα C # γύρω από το API, για χρήση στο Grasshopper & Revit Ενσωματώσεις. Κατάφερα να πιάσω ό, τι χρειαζόμουν από αυτό και να φτιάξω γρήγορα την πρώτη έκδοση της λειτουργίας Hypar.
Σύντομα θα συσκευάσουμε αυτόν τον κωδικό περιτυλίγματος σε αναλώσιμο πακέτο, έτσι ώστε η ομάδα στο SkyCiv, και εσύ (οι χρήστες) όλα λειτουργούν από την ίδια βάση κώδικα. Σε αυτό το σημείο, θα είμαστε πραγματικά “τρώμε το δικό μας dogfood“. Σημείωση: έχουμε ήδη πακέτα για Python και NodeJS.
Το τελικό αποτέλεσμα – άλφα έκδοση ενός πακέτου σχεδιαστικού concept στο Hypar
Ενώ εξακολουθεί να είναι μόνο μια έκδοση alpha / proof-of-concept, Με τη λειτουργία SkyCiv Hypar μπορούμε να κάνουμε μερικά πολύ καλά πράγματα.
Πρώτα, μπορούμε να δημιουργήσουμε αυτόματα το μοντέλο ανάλυσης και να το στείλουμε στο SkyCiv Structural 3D. Όλοι οι κόμβοι, μέλη & δημιουργούνται υποστηρίξεις για εσάς. Τα φορτία καθορίζονται ποιοτικά (Χαμηλή-Μεσαία-Υψηλή) και εφαρμόζεται αυτόματα. Μόλις αποθηκευτεί, μπορούμε να ανοίξουμε το μοντέλο στην πλατφόρμα SkyCiv:
Το μοντέλο είναι σταθερό και μπορούμε να εκτελέσουμε ανάλυση, καθώς και να δείτε όλα τα συνηθισμένα αποτελέσματα από την ανάλυση, σαν αξονική δύναμη μέλους:
Μπορούμε να εκτελέσουμε αυτόματα την ανάλυση και να επαναφέρουμε τα αποτελέσματα, έτσι μπορείτε να σχεδιάσετε έναν έγχρωμο χάρτη στην πλατφόρμα Hypar, σε αυτήν την περίπτωση που δείχνει ποια μέλη αποτυγχάνουν σε έλεγχο εκτροπής:
Τι έπεται?
Για μια απόδειξη της έννοιας, η ενσωμάτωση Hypar-SkyCiv φαίνεται αρκετά καλή. Ωστόσο, απομένουν πολλά πράγματα ακόμα:
- Δυνατότητα δημιουργίας διαφορετικών δομικών συστημάτων, όπως στηριγμένα ατσάλινα κουφώματα ή σκυρόδεμα
- Συνεργαστείτε με τον επερχόμενο SkyCiv optimizer για να βρείτε τις πιο αποτελεσματικές ενότητες για τα μέλη
- Ποσοτικοποιήστε το κόστος και τον αντίκτυπο του άνθρακα των σχεδίων και προσφέρετε μια πλήρη «επιλογή»’ ροή εργασίας
- Παράγει φορτία ανέμου (από το γεωγραφικό πλάτος / μήκος) χρησιμοποιώντας τη λειτουργία τοποθεσίας κτιρίου στο Hypar
- Πολλά περισσότερα!
Εάν είστε ενθουσιασμένοι από τη δυνατότητα σχεδιασμού ιδεών στο πρόγραμμα περιήγησης ιστού σας, θα θέλαμε πολύ ακούω απο σένα. Τι θα θέλατε να δείτε στον σύνδεσμο Hypar-SkyCiv? Ποια μέρη της ροής εργασίας σας ενδιαφέρουν περισσότερο για την αυτοματοποίηση? Ποια εξαρτήματα χρειάζεστε περισσότερο έλεγχο?
Ενδιαφέρεστε να δημιουργήσετε τις δικές σας λύσεις χρησιμοποιώντας το SkyCiv API?
Εάν ενδιαφέρεστε να αυτοματοποιήσετε τμήματα της ροής εργασίας σας χρησιμοποιώντας το API μας, διαβάστε το αυτό το άρθρο σχετικά με την πρόσφατη κυκλοφορία του API μας, ή έρχομαι σε επαφή - Θα θέλαμε να σας βοηθήσουμε να κινηθείτε!
Εάν είστε ήδη χρήστης του SkyCiv, θα έχετε ήδη πιστώσεις API και πληροφορίες ελέγχου ταυτότητας. Αν όχι, μπορείτε να εγγραφείτε για ένα Ελεύθερος 30 Ημέρα δοκιμής στον λογαριασμό SkyCiv API και μπορείτε να αρχίσετε να πειραματίζεστε με το API αμέσως!
Προς το παρόν υποστηρίζουμε JavaScript (πάνω από το επίπεδο της θάλασσας) με ένα πλήρες πακέτο μαθημάτων για να σας βοηθήσουμε να αποκτήσετε γρήγορα κωδικοποίηση. Παρόμοια πακέτα για python (κουκούτσι) & ΝΤΟ# (ψήγμα) είναι στο δρόμο, επομένως, προσέξτε αυτούς.
Διαφορετικά, αν είστε νέοι στον προγραμματισμό, αλλά θέλετε να μάθετε, ρίξτε μια ματιά στο δικό μας εισαγωγή στο μάθημα προγραμματισμού στο Udemy. Είναι ένα υπέροχο μέρος για να ξεκινήσετε!
Διαχειριστής API - Ηνωμένο Βασίλειο / Ευρώπη
ΜΕΝ (Χονς), Διδακτορικό (Μηχανική)