Toen ik een paar maanden geleden lid werd van SkyCiv, wilde ik graag mijn handen vuil maken met de API en wat code gaan schrijven. Binnen een paar weken na aanvang, er deed zich een kans voor om een ​​integratie te ontwikkelen met Hypar – “het volgende generatie platform voor het genereren van, het ontwerpen en delen van bouwsystemen”.

Hypar viel me meteen op als het perfecte platform voor conceptontwerp van gebouwen in een vroeg stadium. Als ik kon linken SkyCiv's krachtige analyse- en ontwerpmogelijkheden met Hypar, Architecten en ingenieurs zouden verschillende ontwerpopties kunnen onderzoeken, hun structurele haalbaarheid bevestigen en hun materiële economie meten, alles in één live samenwerkingsworkflow.

Staande op de schouders van reuzen

Ik wilde geen code schrijven voor het hele proces, van begin tot eind. Ik wilde me concentreren op de engineeringprocessen – het model bouwen en de analyse uitvoeren – en automatiseer ze. Dit is waar het uitgebreide scala aan functies die beschikbaar zijn op het Hypar-platform erg goed van pas kwamen. Ik zou snel het proces van de architect kunnen nabootsen en er een structureel kadersysteem uit kunnen afleiden met behulp van een aantal bestaande Hypar-functies:

SkyCiv op Hypar voor conceptueel ontwerp

Gebaseerd op de gebouwschil, afmeting en vloerhoogte, deze functies gaven me een structureel frame met enkele fysieke balkafmetingen, van waaruit ik kon gaan nadenken over het genereren van het structurele analysemodel.

De noten & bouten van het maken van een SkyCiv-functie op Hypar

Vervolgens moest ik weten hoe ik een aangepaste functie op het Hypar-platform moest bouwen. De belangrijkste programmeertaal die beschikbaar is op Hypar is C # – een gelukkig toeval voor mij aangezien ik al bekend was met C #.

In termen van het daadwerkelijk doorgeven van gegevens en opdrachten aan Structural 3D via SkyCiv, Ik moest een http-verzoek instellen. Geen probleem, sinds C # (net als andere populaire talen) heeft functionaliteit ingebakken voor het maken van http-verzoeken.

💡 U kunt communiceren met de SkyCiv-cloud-API vanaf elke code die een http-verzoek kan doen

Technische aannames

Om het analysemodel van het gebouw te maken, Ik moest het structurele kader nemen en er enkele aannames over doen. Bijvoorbeeld, Ik stelde alle leden in om het grootste stalen I-profiel te gebruiken dat zou passen in de diepte die wordt gespecificeerd door de structurele framefunctie.

Ook, Ik heb ingesteld dat alle leden volledig zijn opgelost, evenals de steunen (dit was nogal onrealistisch, maar ik wilde de volledige workflow laten werken, dus ik had het model nodig om volledig stabiel te zijn).

Op basis van deze aannames, Ik heb wat code geschreven om automatisch de knooppunten te genereren, leden, ondersteunt en lasten, en geef SkyCiv Structural 3D opdracht om een ​​analyse voor mij uit te voeren.

Ten slotte heb ik al deze gegevens in het http-verzoek verpakt en naar de SkyCiv-API gestuurd.

Nadenken over het proces

Het bouwen van de oplossing bevestigde een aantal vermoedens die ik vanaf het begin had – dat het grootste deel van het werk bestaat uit het genereren van de opstelling van knooppunten en balken, voordat we zelfs maar de API aanroepen. Als u op zoek bent naar schrijf uw eigen oplossing tegen de SkyCiv API – onthoud dit.

Ook, Ik moest veel technische beslissingen nemen (zoals de fixaties van de leden) in mijn generatie van het model. Het is beter om die keuzes aan de gebruiker te laten zien. Dit is in feite de essentie van het automatiseren van structurele engineeringprocessen – uitzoeken wat de gebruiker echt wil controleren, en het verzorgen van het zware werk (zoals het maken van knooppunten en leden) met behulp van programmeercode.

Mijn eigen hondenvoer eten

Een ander ding dat me opviel tijdens het schrijven van code om de API in een echte applicatie aan te roepen, was dit: Ik besteed veel tijd aan het maken van een JSON-bestand voor het http-verzoek. Hebben onze gebruikers hier ook moeite mee?? Kan ik dit op de een of andere manier automatiseren?? Misschien is het zelfs al eerder gedaan?

Gelukkig voor mij, mijn collega Nilay had al een uitgebreide C # -wrapper rond de API gebouwd, voor gebruik in de Grasshopper & Revit-integraties. Ik kon hieruit halen wat ik nodig had en snel de eerste versie van mijn Hypar-functie bouwen.

Binnenkort zullen we deze wikkelcode in een verbruikspakket verpakken, zodat het team van SkyCiv, en jij (de gebruikers) werken allemaal vanuit dezelfde codebase. Op dat punt, we zullen echt zijn “het eten van ons eigen hondenvoer“. Notitie: we hebben al pakketten voor Python en NodeJS.

Het eindresultaat – alfaversie van een conceptontwerppakket op Hypar

Hoewel het nog steeds slechts een alfaversie / proof-of-concept is, met de SkyCiv Hypar-functie kunnen we behoorlijk goede dingen doen.

Eerste, we kunnen het analysemodel automatisch aanmaken en naar SkyCiv Structural 3D sturen. Alle knooppunten, leden & steunen worden voor u gemaakt. Belastingen zijn kwalitatief gespecificeerd (Laag middel hoog) en automatisch toegepast. Eenmaal opgeslagen, we kunnen het model openen op het SkyCiv-platform:

SkyCiv alpha-versie van een conceptontwerppakket op Hypar

Het model is stabiel en we kunnen analyses uitvoeren, en bekijk alle gebruikelijke resultaten van de analyse, als axiale kracht van het lid:

SkyCiv alpha-versie van een conceptontwerppakket op Hypar

We kunnen automatisch analyses uitvoeren en resultaten terughalen, dus een kleurenkaart kan worden getekend in het Hypar-platform, in dit geval aangeven welke staven een doorbuigingscontrole niet doorstaan:

SkyCiv alpha-versie van een conceptontwerppakket op Hypar

Wat is het volgende?

Voor een proof-of-concept ziet de Hypar-SkyCiv-integratie er redelijk goed uit. Echter, er komt nog een heleboel dingen aan:

  • Maak het mogelijk om verschillende structurele systemen te creëren, zoals geschoorde stalen frames of betonnen momentframes
  • Werk samen met de komende SkyCiv-optimizer om de meest efficiënte secties voor de leden te vinden
  • Kwantificeer de kosten- en koolstofimpact van ontwerpen en bied een compleet ‘optioneering’’ werkstroom
  • Leid windbelastingen af (van de breedte- / lengtegraad) met behulp van de bouwlocatiefunctie in Hypar
  • Veel meer!

Als u enthousiast bent over de mogelijkheid van conceptontwerp in uw webbrowser, We zouden graag van je horen. Wat zou je graag willen zien in de Hypar-SkyCiv-link? In welke delen van de workflow bent u het meest geïnteresseerd in automatisering? Over welke onderdelen heb je meer controle nodig?


    eBook-API



    was automatisering van structureel ontwerp door MT Solar hun eigen ontwerptool op maat te bouwen? was automatisering van structureel ontwerp door MT Solar hun eigen ontwerptool op maat te bouwen!

    Geïnteresseerd in het bouwen van uw eigen oplossingen met behulp van de SkyCiv API?

    Als u geïnteresseerd bent in het automatiseren van delen van uw workflow met behulp van onze API, lees over dit artikel over de recente release van onze API, of neem contact op - we helpen je graag op weg!

    Als u een bestaande SkyCiv-gebruiker bent, u heeft al API-tegoeden en authenticatiegegevens. Als niet, u kunt zich aanmelden voor een gratis 30 Dagproef naar het SkyCiv API-account en je kunt meteen beginnen met experimenteren met de API!

    Voorlopig steunen we JavaScript (boven zeeniveau) met een volledig pakket lessen om u te helpen snel te coderen. Vergelijkbare pakketten voor python (Pip) & C # (nuget) zijn onderweg, dus houd die in de gaten.

    Anders als u nieuw bent met programmeren, maar graag wilt leren, bekijk ons introductie cursus programmeren op Udemy. Het is een geweldige plek om te beginnen!

    Dr Stuart Gale API Manager - VK / Europa
    Dr Stuart Gale
    API Manager - VK / Europa
    MEng (Hons), PhD (Engineering)
    LinkedIn