外文翻译--注射模设计的三维模型发展 英文版.doc
IntJAdvManufTechnol(2001)17:4534612001Springer-VerlagLondonLimitedThree-DimensionalKernelDevelopmentforInjectionMouldDesignT.L.NeoandK.S.LeeDepartmentofMechanicalandProductionEngineering,NationalUniversityofSingapore,SingaporeToday,manysoftware“plug-ins”havebeendevelopedonhigh-level3DmodellingplatformstofacilitateprocessessuchasFEManalysis,CAM,injectionmoulddesign,simulationandvisualisation.Suchanarrangementisadvantageousinmanyways.However,itisnotwithoutshortcomings.Ideally,these“plug-ins”couldalsobedevelopedusinglow-level3Dkernelsforhigherflexibilityandbetterportability.Thispaperexaminesthevariousissuesandmethodologiesrelatedtothedevelopmentofsuch3D-basedapplications.Theemphasisisplacedonthesoftwareaspect.First,amethodologyforthedevelopmentof3D-basedapplicationsisproposed.Theideaisthenimplementedbydevelopinganinjectionmoulddesignapplicationusingalow-level3DkernelcalledParasolid.Basedondesignconceptsusedinanestablishedmoulddesignapplication,IMOLD,thedevelopmentofamouldbasedesignmoduleisillustrated.Anobject-orientedprogramminglanguagehasbeenchosenforthedevelopmentofthesoftwareonaWindowsNTplatform.Keywords:3Dkernel;Computer-aideddesign(CAD);Injectionmoulddesign;Parasolid1.IntroductionThree-dimensionalCADsystemshaveincreasinglybeenusedtospeeduptheproductrealisationprocess.Oneofthefirststepsinvolvedintheautomationoftheproductdesignprocessisthecreationofthecomponentpartsina3Dmodellingapplication.The3Dmodel,uponcreation,iscalledthedigitalmastercopy.This3Ddigitalmodelformsthekeytoawidespectrumofprocessautomation.Creatingthe3Ddigitalmodelofcomponentpartsisonlytheveryfirststep.Thereareseveralothersecondarytasksthatmusttobedonebeforethepartcanbemanufactured.Suchtasksincludefinite-elementanalysis,jigsandfixturesdesign,injectionmoulddesign,computer-aidedmanufacturing,simul-Correspondenceandofprintrequeststo:K.-S.Lee,DepartmentofMechanicalandProductionEngineering,NationalUniversityofSinga-pore,119260Singapore.E-mail:mpeleeksKnus.edu.sgation,andvisualisation.Today,manyapplicationPlug-inshavebeendevelopedonhigh-level3Dmodellingplatformstofacili-tatethesesecondarytasks.The3D-modellingplatformprovidestheplug-insoftwarewithalibraryoffunctionsaswellasanestablisheduserinterfaceandstyleofprogramming.Asaresult,thedevelopmenttimesfortheseplug-insaresignificantlyreduced.Suchanarrangementisadvantageousinmanyways.However,ithasitsshortcomings,especiallyinthelongrun.Inordertodevelopaplug-inforestablishedsoftware,thedevelopersmustadheretothemanyconstraintsimposed.Thereisaneedtobeconsistentwiththestyleoftheparentsoftware.Thedevelopersmustbeabletoachieveanyfunctionalitytheyneedwithonlythesetoflibraryfunctionsprovided.Mostend-usersneedboththeparentsoftwareandtheplug-in.Inmanycases,however,theymaybemoreinterestedinusingonlytheplug-insoftware.Anexampleofsuchasituationisininjectionmoulddesign.Theseusers,however,mustpurchasetheentiresoftwarepackagewhichincludesmanyfeaturesandfunctionsthattheydonotneed.Suchalargeprogramisoftenverydemandingonthehardware,whichalsomeanshighercost.Theplug-insoftwareisalsoverydependentondevelopmentsintheparentsoftware.Wheneveranewversionisupdatedfortheparentsoftware,theplug-indevelopershavetofollow-uponthechanges.Theseshortcomingsmaynotexistiftheseapplicationsweredevelopedonalow-levelplatform.Ideally,theseplug-inscouldbedevelopedusinglow-level3Dkernelsforhigherflexibilityandbetterportability.Inmanyinstances,suchamoveisbothfeasibleandadvantageous.Traditionally,injectionmoulddesigniscarriedoutdirectlyonaCADsystem.Theentireinjectionmould,consistingofperhapshundredsofcomponents,ismodelledandassembledonCADsystemssuchasAutoCAD,Pro/Engineer,andUnigraphics.Astheinjectionmoulddesignprocessisrecursive,itisverytime-consumingtore-modelandre-assemblethedesign.Inthisaspect,3DCADsystemssuchasPro/EngineerandUnigraphics,whicharefeature-based,haveasignificantadvantageover2DCADsystemssuchasAutoCAD.Tofurtherspeeduptheinjectionmoulddesignprocess,plug-insweredevelopedonthese3Dsystemstoautomatecertainstagesofthedesignprocess.Examplesofsuchadd-onapplicationsincludeIMOLD(IntelligentMoldDesignandAssemblySys-tem,developedattheNationalUniversityofSingapore,basedonUnigraphics),ExpertMoldDesigner(basedonCADKEY)andMoldmaker(basedonEUCLID).AseachisbasedonaspecificCADsystem,thereisnoplugcompatibility.In1994,MokandCheung1presentedworkonthedevel-opmentofaninjectionmoulddesignapplicationbasedonUnigraphics.In1997,Shah2proposeda3-tierarchitectureforstandardisingcommunicationsbetweengeometricmodellingkernelsandapplicationsthatrequiregeometricmodellingservices.Hisobjectiveistoachieveplugcompatibilitybetween3DapplicationsthatarebasedonParasolid3(a3Dkernel,developedattheUniversityofCambridge)andACIS.This,however,involvedanextensivelydeveloped3-tiermodellinghusk.Inthispaper,theauthorattemptstodevelopalightweightinjectionmoulddesignapplicationusingalow-level3Dkerneldirectly.Thefocusisontheflexibilityandspeedofthesoftwaredevelopment.DesignconceptsandproceduresweretakenfromIMOLD4,5,acompletemoulddesignandassembly3Dapplication.Althoughthediscussionislimitedtoinjectionmoulddesignonly,themethodologyappliedcaneasilybeappliedinother3D-basedapplicationsthatareofasimilarnature.Acombinationofdevelopertoolswaschosenforthispurpose.Beforethemethodologyisdiscussed,briefintroductionstosomeofthesetoolsarefirstpresented.Theyare,IMOLD,Parasolidversion10.1,VisualCversion6.0,andtheMicrosoftFoundationClasses.2.IMOLDasaMouldDesignApplicationIMOLD(IntelligentMoldDesignandAssembly)isanestablished3D-basedapplicationthatisdedicatedtoinjectionmoulddesign.ItisdevelopedontopofanadvancedCADsystemcalledUnigraphics.Thedevelopmentiscarriedoutusingtheapplicationsprogramminginterface(API)provided.Thesoftwareenablesmoulddesignerstocreateadesignrapidlybyprovidingthetoolsthatarecommonlyneeded.Standardcomponentsparts,thatareoftenrequiredinthedesign,havebeenpre-createdinthesoftwareandcanbereadilyusedbythedesigner.Thisreducesthedesigntimesignificantly.Themoulddesignprocessisdividedintoseveralstages,providingthedesignerwithaconsistentmethodofcreatingthemoulddesign.Theyare,namely:1.Datapreparation.2.Fillingsystemdesign.3.Mouldbasedesign.4.Insertsandpartingdesign.5.Coolingsystemdesign.6.Sliderandlifterdesign.7.Ejectionsystemdesign.8.Standardpartslibrary.Eachstagecanbeconsideredasanindependentmoduleoftheprogram.The3D-basedrequirementsforeachmodulevaryonlyslightly.Thesuccessindevelopingthemouldbasemoduleimpliesfeasibilityindevelopingalltheothermodules.3.Parasolidasa3DKernelParasolidisdesignedtobethecentreor“kernel”ofanysystemthatisbasedon3Dmodeldata.Itisessentiallyasolidmodeller,whichcanbeusedto:1.Buildandmanipulatesolidobjects.2.Calculatemassandmomentsofinertia,andperformclashdetection.3.Outputtheobjectsinvariousways,includingpictorially.4.Storetheobjectsinsomesortofdatabaseorarchive,andretrievethemlater.Parasolidisoneofthemostadvanced3DkernelsamongCADapplications.Itisthe3DkernelofUnigraphicsandSolid-Works.Itsuniquetolerantmodellingfunctionalityenablesittoacceptdatastoredinothermodellerformats.Parasolidmodelfilesarethusverypotable.Itis,therefore,asuperiorplatformforthedevelopmentofstand-aloneapplications.The3D-basedapplicationinteractswithParasolidthroughoneofitsthreeinterfaces(seeFig.1).ThesearecalledtheParasolidkernel(PK)interface,thekernelinterface(KI)andthedownwardinterface.ThePKinterfaceandthekernelinterfacesit“ontop”ofthemodeller(side-by-side),andarethemeansbywhichtheapplicationmodelsandmanipulatestheobjects,aswellascontrolsthefunctioningofthemodeller.Thedownwardinterfacelies“beneath”themodeller,andiscalledbythemodellerwhenitneedstoperformdata-intensiveorsystemtypeoperations.Itconsistsofthreeparts:frustrum;graphicaloutput(GO);andforeigngeometry.Thesearebrieflyexplainedbelow.3.1TheKIandPKInterfaceTheKIandthePKareinterfacesfortheprogrammertoaccessthemodellingcapabilitiesintheParasolidkernel.Theyarestandardlibrariesofmodellingfunctions.Theprogrammercallsthesemodellingfunctionsintheirprograms.AstheKIistobephasedoutsoon,wechosetousethePKinterface.Fig.1.Parasolidcomponents.454T.L.NeoandK.S.Lee3DKernelDevelopmentforInjectionMouldDesign4553.2TheFrustrumThefrustrumisasetoffunctions,whichmustbewrittenbytheapplicationsprogrammer.Thekernelcallsthemwhendatamustbesavedorretrieved.WhenusingParasolid,theapplicationsprogrammermustfirstdecidehowtomanagethestorageofdata,whichParasolidoutputsthroughthefrustrum.Transferringdatathroughthefrustrumusuallyinvolveswritingto,orreadingfrom,files.Theformatandlocationofthefilesisdeterminedwhenwritingthefrustrumfunctions.3.3TheGraphicalOutput(GO)Thegraphicaloutputisanothersetoffunctions,whichistobewrittenbytheapplicationsprogrammer.WhenacallismadetothePKrenderingfunctions,thegraphicaldatageneratedareoutputthroughtheGOinterface.Thegraphicaldataarethenpassedtoa3Drenderingpackage.OpenGL,asoftwareinterfacetographiccards,isarenderingpackagethatisusedforourpurpose.3.4TheForeignGeometryTheforeigngeometryprovidesfunctionalityforthedevelopmentofcustomisedgeometricaltypessuchasin-housecurvesandsurfaces.TheseareusedtogetherwiththestandardgeometricaltypesformodellingwithinParasolid.4.Object-OrientedProgrammingUsingVisualCandtheMicrosoftFoundationClassesObject-orientedprogramming(OOP)hasbeentheundisputedoptionforsoftwaredevelopers.Itisamongthemostadvanceddevelopmentaltoolsavailable.TheMicrosoftVisualStudioissuchasoftwarepackage.ItfeaturesseveraldevelopmentaltoolsthataremeantforInternet-basedandWindows-basedprogramming.AmongthesetoolsaretheVisualC(VC)andtheMicrosoftFoundationClasses(MFC).TheVCisapowerfuldevelopmenttoolforobject-orientedprogramming,whereastheMFCisaframeworkofCclassesthatarededicatedtoWindows-basedprogramming.Together,theseprovidedtheapplicationsprogrammerwithpowerfuldevelopmentfeaturesandfunctionalitiessuchasauto-codegeneration,andwizard-basedoperations.Thesegreatlyimprovedproductivity.Theentireuser-interfaceforourprogramisdevelopedusingtheVCandtheMFC.5.SystemDesignThedirectdevelopmentofa3D-basedadd-onapplicationusinga3Dkernelrequiresseveralissuestobeaddressed.Theyconsistof3mainstagesatthehighestlevel.First,theidentificationofthecrucialfeaturesandfunctionsrequiredfortheplug-inapplication.Secondly,thedevelopmentofthedesignfortheapplicationframework.Lastly,thedesignanddevelop-mentoftheindividualmodulesintheframeworkwithappropriatedevelopmentaltools.5.1IdentificationofEssentialModulesParasolid,asa3Dkernel,providesonlyanumberoflibrariesandaconceptualframeworkfor3Dapplicationdevelopment.Itisthusnecessaryforthedeveloperstoidentifyanddeveloptheotheressentialfacilitiesthatareprovidedina3DCADsystem.Inordertoidentifytherequiredfacilities,itisimportanttounderstandthediscrepanciesbetweenthetwo.Table1summarisesthemaindifferencesinthefacilitiesprovidedbya3Dkernelanda3DCADsystem.Someofthesefacilities,suchasfeaturesandparametricmodelling,arebothtime-consumingandtechnicallydemandingtodevelop.Asmostplug-insdonotuseallthefacilitiesoftheparentsoftware,itispossibletodeveloponlythoserequiredbytheplug-insusinglow-level3Dkernels,producingastandaloneversion.Items7to9inTable1areprerequisitesforthedevelopmentof3D-basedapplicationsusingParasolid.Bystudyingtherequirementsoftheplug-inapplication,otheressentialfacilitiescanbeidentified.Aframeworkfortheapplicationisthenproposed,basedonthefacilitiesprovidedbytheParasolidkernel.5.2Frameworkfor3D-BasedApplicationsAframeworkisdevelopedwithreferencetothefacilitiesprovidedbythedevelopmentaltoolsandtherequirementsoftheapplication.Itisdesignedsothatthereareminimumdependenciesbetweenindividualcodemodules.Thismayresultinasmalldegreeofcodeduplication.Inexchange,thereisbetterportabilityoftheprogramcodes,greatereaseofmaintenanceandabetterprospectforfutureexpansion.TheoverviewofthisframeworkisillustratedinFig.2.Thedetailsofthevariousmodulesarediscussedinthefollowingsections.5.2.1Windows-BasedUser-Interface(A)Parasoliddoesnotprovidetheprogrammerwithauserinterface.Thus,thedevelopmentofthe3D-basedapplicationateverysinglestagewillinvolvedesigningtheuser-interfacefromscratch.Thenecessarydevelopmentsinvolve:1.Environmentalsettinganddisplayofthe3D-basedappli-cation.2.Interactivegraphicalinterfaceandexecutionprocedureforallapplicationfunctionality.5.2.23DDeveloperLayer(B)Sincedifferent3D-basedapplicationsrequire3D-facilitiestodifferentextent,theframeworkmustprovideforthesevariations.A3Ddeveloperlayer(SeeFig.2,ItemB)isconceptualisedtohandlesuchvariations.Itisalibraryofobjectsorclassesthataredeveloped,basedontheParasolidkernel.TheextentofdevelopmentdependsontherequirementsoftheTable1.Summaryoffacilitiesprovidedbya3DkernelandaCADsystem.Facilities3Dkernel3DCADsystem1.Basic3DmodellingLow-levelandgeneralfunctionsprovidedHigh-levelandspecificfunctionsprovided2.AssembliesSeverallibraryfunctionsprovidedCompletesystemprovided3.Feature-basedmodellingNotprovidedEstablishedfeaturesetprovided4.ParametricmodellingNotprovidedOftenprovided5.Free-formmodellingLow-levelfunctionsprovidedOftenprovided6.DraftingNotprovidedCompletesystemprovided7.Interactiveuser-interfaceNotprovidedAlwaysprovided8.Visualisationof3DobjectsConceptualframeworkandseverallibraryCompletelydevelopedfunctionsprovided9.FilemanagementsystemConceptualframeworkandseverallibraryCompletelydevelopedfunctionsprovidedFig.2.Overviewof3D-basedapplication.applicationidentifiedintheprevioussection.Besidescateringforvariationsinapplicationrequirements,the3Ddeveloperlayeralsoactsasaprogramminginterfacefornon-Parasoliddevelopers.Suchaninterfacecanalsobere-usedforsubsequentdevelopmentofother3D-basedapplications.The3Ddeveloperlayeressentiallyconsistsofthreemainsections.Theyareusedfor3Dmodellingandassembly,3Dvisualisationand3Ddatamanagement,respectively.I.3DModelingandAssembly.The3Dmodellingandassemblymoduleisthemostimportantandelaborateofallthreesections.Itisanalogoustotheapplication-programminginterface(API)providedbymostCADsystems.Themoduleconsistsofalibraryof3D-basedobjectsorclasses,whichareusedforthedevelopmentofthecoreapplicationmodules.Thebasic3Dfunctionalitythatisrequiredbymost3Dapplicationsmustbedevelopedfirst.Dependingontherequirementsoftheindividual3D-basedapplication,othermoreadvancefeaturesaresubsequentlyadded.II.3DVisualisation.Thedisplayof3DobjectsinaWindowsclientarearequiresasoftwaregraphicsinterface.Thegraphicaloutputtogetherwithaselectedgraphicalinterface,areusedfortherenderingof3Dobjectsinthe3D-basedapplication,aswellasthemanagementoftheviewingprojectionsandtransformations.Here,alibraryofclassesisdevelopedforsuchpurposes.III.3DDataManagement.The3Ddatamanagementmoduleisdevelopedontopofthefrustrum.ThefrustrumisthemoduleintheParasolidkernelthatfacilitatesarchivingandaccessof3Dpartfiles.Alibraryofclassesaredevelopedusingthefrustrumforhandling:1.3Dobjectfileformat.2.Filemanagementoperationssuchasopeningandsavinga3Dobjectfile.5.2.3ApplicationModules(C)Thesearetheactual3D-basedapplicationmodulesthatsitbetweenthe3Ddeveloperlayerandtheapplicationuserinterface.Thedesignofthesemodulesdependsmainlyonthenatureoftheapplicationsandoftendiffersgreatly.Themainbulkofthedevelopmentalworkiscarriedoutinthisarea.Theeaseofthedevelopment,however,dependsonthecapabilitiesofthe3Ddeveloperlayer.5.2.4OtherSoftwareModules(D)Veryoften,the3D-basedapplicationmayrequirefunctionalityfromotherexistingsoftwaremodulesorapplicationmodules.Therefore,suchalinkmayexist.Anexampleofsucharequirementisillustratedintheimplementationsectionofthispaper.5.3DevelopmentofIndividualModulesEachmoduletobedevelopedisstudiedandanalysedbeforeasuitabledesignisproduced.Theeaseofdevelopmentdependsgreatlyonthedesignoftheframeworkandthedevelopertoolsselected.Thenextsectionillustratestheimplementationofthe454T.L.NeoandK.S.Lee