Emil Rindell
Jonas Bryntesson
Henrik Anderson
2023-09-08
Emil Rindell
Jonas Bryntesson
Henrik Anderson
2023-09-08
Parasolid og ACIS - at IRONCAD bruger to solidkerner samtidig, er ikke noget, man lægger mærke til i det daglige arbejde. Ud over at det "under motorhjelmen" forenkler visse komplekse trin, uden at den almindelige bruger lægger mærke til det, betyder det også, at programmet kan håndtere modeller, der kommer fra helt andre 3D CAD-systemer, på en rigtig god måde. Det kan dog være nødvendigt at skifte mellem de to i nogle situationer, hvilket gøres med et enkelt tryk på en knap.
En geometrisk modelleringskerne (ofte kaldet en solid kerne) er den softwarekomponent (kode), der bruges i et 3D CAD-system, og som definerer, hvordan en 3D-geometri er konstrueret. For at producere en "korrekt topologisk 3D-model" bruges den faste kerne til matematisk at beskrive 3D-modellens udseende.
I begyndelsen blev geometriske solider styret og beregnet af hvert enkelt 3D CAD-system, men i 70'erne og 80'erne blev solidkernen kommercialiseret, hvilket for mange udviklere i stedet blev en færdiglavet komponent, der kunne licenseres og "bages ind" i deres eget 3D CAD-system. I dag er der flere virksomheder (og endda lande), der udvikler forskellige konkurrerende solid cores, og som bruges af mange kendte eller mindre kendte 3D CAD-systemer, hvor IRONCAD er unik i sin art, da den bruger (licenserer) to parallelle solid cores på samme tid! Disse to er;
Det ejes og udvikles af Siemens Digital Industries Software og er i dag den dominerende løsning blandt de fleste CAD- og CAM-systemer. Parasolid selv blev oprindeligt udviklet i Cambridge, England, hvor det først blev udgivet i 1988 som en videreudvikling af den første kommercielt tilgængelige solide kerne ROMULUS (udgivet i 1978).
Ejet og udviklet af Spatial Corp (en del af franske Dassault Systemes). ACIS blev også udviklet fra det tidlige ROMULUS, af de samme folk, til brug i et nyt amerikansk CAM-system udviklet af Spatial, som skulle udkomme i slutningen af 1980'erne.
Da ACIS-kernen blev frigivet i 1989, var firmaet Hewlett-Packard hurtige til at licensere den til deres UNIX- og senere DOS-baserede HP ME 3D CAD-system, som blev brugt til deres helt revolutionerende måde at håndtere 3D-modeller på, og som på forskellige måder senere blev en vigtig byggesten i det, der i dag er IRONCAD.
I de første versioner var IRONCAD udelukkende baseret på ACIS-kernen, og først med IRONCAD version 3 (1999/2000) blev Parasolid-kernen tilføjet af R&D-teamet, der samtidig udviklede noget kaldet Kernel Collaboration. Mere om det senere.
For at bestemme, hvilken solid core der skal være den "primære" i IRONCAD , kan du klikke på fanen Properties nederst til venstre i 3D-scenen og skifte mellem de to solid cores. Dette bestemmer, hvilken af dem der vil være den "primære" solide kerne for den næste nye part , der oprettes. Dette gælder dog ikke, hvis du importerer filer i filformaterne Parasolid (*.x_t) eller ACIS (*.sat), da de automatisk vil bruge "deres egen" solid core.
Du kan også efterfølgende skifte mellem de to faste kerner for en eller flere parter på samme tid. Dette gælder også for en eller flere samlinger (Assembly), der indeholder flere objekter.
Hvis du arbejder i et 3D CAD-system, der er baseret på én solid core, kan du støde på problemer, når du modtager og håndterer modeller fra et 3D CAD-system, der er baseret på den anden solid core. Det er (indtil videre) kun IRONCAD , der bruger både Parasolid- og ACIS-kernerne samtidigt, og teknologien til at håndtere modeller på denne måde, Kernel Collaboration, blev udviklet af R&D-teamet i slutningen af 90'erne.
Som nævnt bruger en part primært én solid kerne, men der er nogle situationer, hvor "geometriske problemer" automatisk løses af programmet gennem Kernel Collaboration, uden at brugeren bemærker det. Dette er hovedsageligt tilfældet, når man opretter eller ændrer Modification Features som Blend, Chamfer, Shell eller bruger kommandoen Boolean operation (sammenlægning af dele), og når man arbejder medDirect Face Modelling. Hvis Parasolid støder på et geometrisk komplekst problem, tager ACIS-kernen straks over og løser det "under motorhjelmen".
Der er dog nogle situationer, hvor en begrænsning (eller muligvis en fejl) i en solid kerne ikke direkte håndteres automatisk, men du er nødt til at skifte til den anden solid kerne som "primær". Et sådant eksempel er "non-manifold".
Der er en klar begrænsning med Parasolid-kernen, hvor noget, der kaldes "nul tykkelse" eller "ikke-manifold", er et problem, som man nogle gange kan støde på, når man ændrer geometrier. Et eksempel er, hvis et cylindrisk hul lægges tangent til et plan eller tangent til en anden cylindrisk overflade. Et andet er, hvis en kantlinje på en blok tangerer en kantlinje på en anden blok. Det betyder, at modellerne pludselig kan virke "hule" eller give fejlmeddelelser eller påvirke eksporten eller 2D-tegningen negativt. ACIS-kernen blev oprindeligt skrevet på en måde, så den bedre kunne håndtere ikke-manifold, men der er også forskellige typer af begrænsninger eller problemer med ACIS-kernen.
Her er nogle ikke-manifold eksempler på identiske parter, der bruger den ene eller den anden faste kerne; Parasolid til venstre, ACIS til højre.
Den første er et cylindrisk hul, der rører konturen af et andet cylindrisk hul, hvor Parasolid-kernen normalt viser en "hul" overflademodel-lignende part, mens ACIS-kernen kan håndtere dette bedre.
Det samme kan ses mellem to blokke, hvor grænserne mellem blokkene rører hinanden. En position, man kan finde, når man f.eks. trækker i Sizebox-håndtagene for at klikke den ene side sammen med den anden. Det er dog sjældent, at man faktisk modellerer en model, der er beregnet til at bruge denne tilstand, andet end midlertidigt, før der tilføjes flere funktioner eller foretages yderligere ændringer. Det skyldes, at en model, der består af en "ikke-manifold" i sig selv, sandsynligvis ikke kan fremstilles. Eksemplet med de to blokke nedenfor er derfor en overdrevet måde at vise, hvordan fejlen kan opstå.
Et andet eksempel er et loft feature, hvis to tværsnit (skitser) på hver side er associative med andre funktioner. Parasolid-kernen har ofte problemer med at løse dette, da det bliver for tæt mellem formerne, og da den har svært ved at håndtere en egenskab kaldet Tangent Factor (hvor langt skal formen "skubbes frem", før den "bøjer af" mod den næste sektion). Dette fungerer normalt bedre med ACIS-kernen.
Et sidste eksempel er det modsatte, hvor Parasolid-kernen retter en form, som ACIS-kernen ikke kan. Normalt skyldes dette små justeringer af egenskaber, og i dette tilfælde er der ingen klar grund til, hvad der får det til at fungere eller ej. Her er du ofte nødt til at skifte mellem de to solide kerner og teste dig frem. ACIS-kernen viser heller ikke alle de indstillinger, der er mulige med en Thread feature.
TransMagic-programmet har en længere og mere teknisk beskrivelse af dette problem, og hvordan man håndterer det for at skabe korrekte faste stoffer.
Udviklerne af TransMagic har også forsøgt at forenkle konceptet (her taget fra deres blogindlæg ovenfor): Manifold er en geometrisk topologiterm, der betyder: At tillade usammenhængende klumper at eksistere i en enkelt logisk krop. Ikke-manifold betyder så: Alle adskilte klumper skal være deres egen logiske krop. Selvfølgelig er den definition ofte mere forvirrende, så måske er den bedste måde at tænke på manifold og non-manifold på denne: Manifold betyder i bund og grund "producerbar", og non-manifold betyder "ikke-producerbar". Med andre ord betyder manifold: Du kan bearbejde formen af en enkelt metalblok ... hvor non-manifold betyder, at du ikke kan bearbejde fra en enkelt metalblok.
På IronCAD's brugerforum er der et par interessante tråde, en ældre What Does Kernel Collaboration Mean? og en nyere tråd med nogle eksempler på Dual Geometric Modelling Kernels - Kernel Collaboration (Examples).
Endelig skal man huske på, at begge disse solid state-kerner fortsætter med at udvikle sig, og hvad der engang var en sandhed, er det måske ikke længere. At skifte mellem de to er altid noget, man bør overveje som en mulig løsning, når man støder på et problem, selv hvis det ikke virkede i en tidligere version.
Flere artikler