
ãã®èšäºã§ã¯ãç¹æ®ãªCADã·ã¹ãã ã®éçºè ã®èŠ³ç¹ãã幟äœåŠã¢ããªã³ã°ã©ã€ãã©ãªã®æŠèŠãç°¡åã«èª¬æããC3Dã³ã¢ã®çµ±åã«é¢ããç§ã®çµéšãå ±æããŸãã
ã倧èŠæš¡ãªããã¶ã€ã³ããã°ã©ã ã®åžå Žã¯ãAutoCADãSolidWorksãNXãCreo ElementsãCATIAãªã©ã®äž»èŠãªãã¬ãŒã€ãŒã«é·ãéåå²ãããŠããŸããããçªãé段ããã£ãããããåžåŒµãã®å®¶å ·ããã€ãã©ã€ã³ããšã³ã¯ããŒãžã£ãŒã¯éåžžã«åºããã€ãããã¯ã§ãã ç§ã®æèŠã§ã¯ãããã«ã¯2ã€ã®çç±ããããŸãã第äžã«ã倧èŠæš¡ãªCADã·ã¹ãã ãè³Œå ¥ããã³ã¹ããé«ãããšãšããã®äžã§å¹æçã«äœæ¥ããæ¹æ³ãç¥ã£ãŠããåŸæ¥å¡ã§ãã ãããŠã第äºã«ã倧èŠæš¡ãªCADã·ã¹ãã ã®ç¹å®ã®è£œåã®èšèšã«é©å¿ã§ããªãããããããã®è£œåã®å°é補åã®èšèšé床ãé ããšããäºå®ã«ã€ãªãããŸãã
ç¹æ®ãªCADã·ã¹ãã ããããã®åé¡ã«å¯Ÿããçãã§ãããããã°ã©ããŒã¯ããããäœæãã2ã€ã®æ¹æ³ã«çŽé¢ããŠããŸãã 1ã€ç®ã¯ãæäŸãããŠããAPIããã©ã°ã€ã³ãããããçš®é¡ã®ã¹ã¯ãªããã䜿çšãã倧èŠæš¡ãªCADã®æ¹è¯ã§ãã ãã®ã¢ãããŒãã¯åžžã«æ£åœãšã¯éããŸããã ãã®çµæããŠãŒã¶ãŒã®CADã®ã³ã¹ããå¢å ãïŒå€§èŠæš¡ãªCADãšé©å¿ã®äž¡æ¹ã«è²»çšãæ¯æãå¿ èŠããããŸãïŒããã®ãããªã³ã³ãã€ã³ã§äœæ¥ããããã«å¿ èŠãªãšã³ãžãã¢ã®è³æ ŒïŒããã³ãã®çµæããã¬ãŒãã³ã°ãšã¡ã³ããã³ã¹ã®ã³ã¹ãïŒãéåžžã«é«ããªããŸãã 2çªç®ã®æ¹æ³ã¯ããŒãããã·ã¹ãã ãäœæããããšã§ãã ãã®ãã¹ã¯ééããªãã¯ããã«é£ããã§ãããªããªãã èšå€§ãªæ©èœãæåããéçºããå¿ èŠããããŸãã ããããããã«ããããããã補åã®æåã決å®ãããšã³ããŠãŒã¶ãŒã«ãšã£ãŠã¯ãã¯ããã«å®äŸ¡ã§äŸ¿å©ãªå ŽåããããŸãã
ããããªCADã·ã¹ãã ã®äœæã¯ãééããªãéåžžã«é«äŸ¡ãªéçºã§ããã3次å ã¢ãã«ã®å¹ŸäœåŠçã¢ããªã³ã°ã®ã¢ã«ãŽãªãºã ã¯éåžžã«è€éã§ãã ãã®åé¡ã®è§£æ±ºã«åœ¹ç«ã€ã©ã€ãã©ãªã«ã€ããŠã¯ãããã«èª¬æããŸãã ããããã¬ãã¥ãŒãéå§ããåã«ã幟äœåŠçãªã³ã¢ããååŸãããæ©èœã決å®ããŸãã CADã¯å®¶å ·èšèšçšã«èšèšãããŠããããã次ã®èŠä»¶ã圢æãããŠããŸãïŒã«ããã¢ãŠãä»ãã®ä»»æ圢ç¶ã®å¹³æ¿ãäžå®æé¢ã®ãããã¡ã€ã«ãå転äœãããããæ²ãããã«ãããã³ãããã®ããã£ã®æ§é ãžãªã¡ããªæäœãäœæãããæ圱ããã£ã«åºã¥ãæ§é ãã»ã¯ã·ã§ã³ã
CADã®é©çšããã芳ç¹ããããã¹ãŠã®å¹ŸäœåŠçã¢ããªã³ã°ãœãªã¥ãŒã·ã§ã³ã¯ãããªãŽã³ããã¯ã»ã«ãããã³å¢çã®è¡šçŸã䜿çšããŠã3ã€ã®ã°ã«ãŒãã«åããããšãã§ããŸãã ãªããžã§ã¯ãã®å€è§åœ¢ã¢ããªã³ã°ãšã¯ãäžé£ã®å€è§åœ¢ïŒéåžžã¯äžè§åœ¢ïŒã®åœ¢ã§ãªããžã§ã¯ããçæããããšã§ãOpenGLãDirectXãªã©ã®ã°ã©ãã£ã«ã«APIã䜿çšããŠèŠèŠåããŸãã ãã®æ¹æ³ãæãç°¡åã«å®è£ ã§ããŸãã ããªãŽã³ããã£ã®äœæãšãããã䜿çšãã建èšçãªæäœã¯ãç¬ç«ããŠäœæããããCGALãªã©ã®ãªãŒãã³ã©ã€ãã©ãªã䜿çšã§ããŸãã ç§ãã¡ã¯é·å¹Žãã®ãããªèªå·±èšè¿°ã®å®è£ ã䜿çšããããã¯å®å šã«å ±ãããŸããïŒå®ããŠéœæ°ãªã ãããã£ãŠãããªãé·ãéãç§ãã¡ã¯ç¹å¥ãªæéããããã«ãããªãè€éãªå®¶å ·è£œåãããšãã°æ¹Ÿæ²ãããã¡ãµãŒããã¢ããªã³ã°ããŸããã ãã ããããªãŽã³è¡šçŸã«ã¯é倧ãªæ¬ ç¹ããããæçµçã«ä»£æ¿ãœãªã¥ãŒã·ã§ã³ã®æ€çŽ¢ã«ã€ãªãããŸããã ãããã®æ¬ ç¹ã¯æ¬¡ã®ãšããã§ããããªãŽã³ã¢ãã«ã§ã¯ããµãŒãã§ã¹äžã®ããã£ïŒå匧ãåãã¹ãã©ã€ã³ïŒãå²ãæ²ç·ã«é¢ããæ å ±ããªãããããã¶ã€ããŒã®äœæ¥ãå€§å¹ ã«è€éã«ãªããéå¹³é¢ãµãŒãã§ã¹ïŒåçãåéãçé¢ãæŸç©é¢ãªã©ïŒããæ£ç¢ºã«æ§ç¯ããããšãå°é£ã«ãªããŸã建èšçãªCSGæäœã§ã¯ãèšèšããããªããžã§ã¯ãã®æ£ç¢ºãªå³é¢ã®äœæãæ£ç¢ºãªè¡šé¢ç©ã®èšç®ãäœã®å®¹ç©ãªã©ãäžå¯èœã«ãªããŸãã ãã¯ã»ã«ã¢ããªã³ã°ãéåžžã«å ·äœçã§ãããå žåçãªèšèšäžã®åé¡ã解決ããããšãç®çãšããŠããŸããã
å¥ã®è§£æ±ºçã¯ã BREPå¢çè¡šçŸã䜿çšããŠãªããžã§ã¯ããã¢ãã«åããããšã§ãã BREPã¯ããããã®ããã£ã®å¢çãäžé£ã®æ¥ç¶ãããé¢ãšããŠèšè¿°ãã3次å ããã£ã®è¡šçŸã§ãããåé¢ã¯è¡šé¢ã®èŒªéã§ãïŒããšãã°ãå¹³é¢ãåçãçãåéããŸãã¯NURBSïŒã

ãã®åéã®ãªãŒããŒã¯ã Parasolidããã³ACISã³ã¢ã§ãã CADã®å€§éšåã§äœ¿çšãããŠããŸãã ãããã«å ããŠã CCADãšGraniteãç¥ãããŠããŸãããããã¯ã倧èŠæš¡ãªCADã·ã¹ãã CatiaãšCreo Elementsã®ã³ã³ããŒãã³ãã§ãæè¿ã©ã€ã»ã³ã¹ãå©çšå¯èœã«ãªããŸããã ãããã¯ãã¹ãŠåŒ·åãªæ©èœãåããŠãããååã«ãã¹ãããæé©åãããŠããŸãã å åŒã«ãšã£ãŠã®å¯äžã®æ¬ ç¹ã¯äŸ¡æ Œã§ãã éåžžã«å°è±¡çãªå¹Žéæ¯æããšãå販売ããã®å€§ããªå²åã®æ§é€ã«ããããããã«åºã¥ãå°ããªCADã®äœæã¯é«äŸ¡ãªã€ãã³ãã«ãªããŸãã
Solids ++ãšSMLibã¯ããŸãããç¥ãããŠããªã2ã€ã®åçšã©ã€ãã©ãªã§ããããããã«åºã¥ãCADã·ã¹ãã ã«é¢ããæ å ±ãèŠã€ããããšãã§ããŸããã§ããã Webãµã€ãã®èª¬æã«ãããšãã©ã¡ãããžãªã¡ããªãã¯ã³ã¢ã«å žåçãªæäœãå®è£ ããŠããŸãã ããããã©ã®çšåºŠå®å®ããŠä¿¡é Œã§ãããã¯æªè§£æ±ºã®åé¡ã§ãã SMLibã«ã¯éåžžã«å€§ããªå©ç¹ããããŸããä»ã®ãã¹ãŠã®åçšã©ã€ãã©ãªãšã¯ç°ãªããSMLibã¯ãœãŒã¹ã³ãŒããšãšãã«è²©å£²ãããŠããŸãã
åœæå©çšã§ããåœå éçºã¯ãASCON for Compassã§éçºãããC3Dã³ã¢ã®ã¿ã§ããã éžææã«ã¯ãåžå Žã«åå ¥ããã ãã§ãäŸ¡æ Œãšæ©èœã®ãã©ã³ã¹ã®åããæ¯çã«èå³ãæã¡ãŸããã æ žã®éžææã«ã RGKã¯å°å¹³ç·ã«ãç»å ŽããŸãã-éå¿çãªåœå ãããžã§ã¯ããããã«é¢ããèšäºã¯ãã§ã«ããhttp://habrahabr.ru/post/180455/ããã³http://habrahabr.ru/post/180707/ã«ç»å ŽããŸããããäœå¹Žãã®éã圌ã«é¢ããããŒã¿ã¯å ¬åŒãŠã§ããµã€ãäžã§ãååŸã§ããŸããã ãããŠãå ¬åŒã¡ãŒã«ã¯æçŽã«è¿ä¿¡ããŸããã
æ€èšäžã®æåŸã®ã³ã¢-OpenCASCADE-å¯äžã®ç¡æãœãªã¥ãŒã·ã§ã³ã ããã«åºã¥ããŠãæåãªFreeCADããã±ãŒãžãäœæãããŸããã ã«ãŒãã«ã¯ééããªãæ©èœãéçºããŠãããç§ã®æèŠã§ã¯ãããªã䟿å©ãªAPIã§ãããæ®å¿µãªãããããªãå€ãã®æ¬ é¥ããããŸãããã¹ãäžã«ãäžèŽããé¡ãæã€ããã£ãæžç®ããæäœã§äžæ£ç¢ºãªãžãªã¡ããªã®åœ¢ã§è¡šçŸãããæ圱ãšããŒãã®ã·ã«ãšããã®çæã§ãšã©ãŒãçºçããŸããã ãã ããããã¯éããŠãããããžã§ã¯ãã§ããããšãå¿ããªãã§ãã ãããå¯èœã§ããã°ãèªåã§ãšã©ãŒãä¿®æ£ã§ããŸãã ãã®ã³ã¢ã¯åçšè£œåã§ç¡æã§äœ¿çšã§ããŸãããè¿œå ã¢ãžã¥ãŒã«ïŒ http://www.opencascade.org/support/products ïŒããã³æè¡ãµããŒããæ¯æãããããšãå¿ããªãã§ãã ãã ã
ãã¡ãããããããã®ããã±ãŒãžã§èŠåŽããã«äžèšã®ããã±ãŒãžãå®å šã«æ¯èŒããããšã¯äžå¯èœã§ããããããã®æ©èœã«åºã¥ããŠäœãããCADã·ã¹ãã ããæ©èœã®å€§ãŸããªã¢ã€ãã¢ãåŸãããšãã§ããŸãã 財åèœåã«åºã¥ããŠãç¡æã®OpenCASCADeãŸãã¯åœå ã®C3Dã®ãããããéžæããŸããã å®å®æ§ãé«ããããC3Dãåªå ããŠéžæããŸããããããã¯éåžžã«éèŠã§ããã ãšã³ãžã³ã§äœæãããèšå€§ãªæ°ã®ã¢ãã«ãæ£ããã€ã³ããŒãããå¿ èŠããããŸããã ãŸããOpenCASCADEãäžèŠãããšããã°ãä¿®æ£ããã®ã«ã©ãã ãæéããããããäºæž¬ããããšã¯å°é£ã§ãã åæ§ã«éèŠãªã®ã¯ãDXFã®ã€ã³ããŒã/ãšã¯ã¹ããŒãã®ååšãšãC3Dã³ã¢ã§æ圱ãšã·ã«ãšãããçæããããã®å®å®ããã¢ã«ãŽãªãºã ã§ãã ãã ããã¿ã¹ã¯ã®å ·äœæ§ãäœãå Žåã¯ãããããOpenCASCADEãããæçãªãœãªã¥ãŒã·ã§ã³ã«ãªãã§ãããã
ãã®çµæãASCONããã³ã¢ãå°å ¥ããããšã«ããŸãããããã«ã¯ããªãã®æéãããããŸããããã®çµéšãèªè ãšå ±æããããšæããŸãã C3Dã³ã¢ã¯ãBREPã¢ãã«ãè£å©ã¯ã©ã¹ãããã³ã°ããŒãã«é¢æ°ãšããŠèšèšãããã¢ã«ãŽãªãºã ã®ã»ãããèšè¿°ããC ++ã¯ã©ã¹ã®ã»ãããè¡šããŸãã å®è£ ã®æåã®æ®µéã§ã¯ãC ++ã«ãŒãã«ãããã°ã©ã ã«æ¥ç¶ããæ¹æ³ã決å®ããå¿ èŠããããŸãããããã¯ãæŽå²çãªçç±ãããDelphiã§äœæãããŠããŸããã å¿ èŠãªãã¹ãŠã®æ©èœã®Cã€ã³ã¿ãŒãã§ã€ã¹ãäœæããã®ã¯ãéå±ã§æè»æ§ã«æ¬ ããã¢ãããŒãã®ããã«æããŸããã ãœãªã¥ãŒã·ã§ã³ã¯éåžžã«è¿ éã«èŠã€ãããŸãã-Delphiã§çŽæ¥äœ¿çšã§ããçŽç²ãªæœè±¡ã¯ã©ã¹ã䜿çšããŠãC ++ã§äžéãã€ã³ã¿ãŒãã§ã€ã¹ãDLLãèšè¿°ãã ãããã«ã¯ãVMTãžã®ãã€ã³ã¿ãå«ãŸããŠããŸãã幞ããªããšã«ãMSãšEmbarcaderoã®ã³ã³ãã€ã©ã¯ãŸã£ããåã圢åŒã§ãã ãã®çµæãOOPã¹ã¿ã€ã«ã§å¿ èŠãªæ©èœãæäŸããDLLãã1ã€ã®é¢æ°ã®ã¿ããšã¯ã¹ããŒãããDLLã¬ã€ã€ãŒãäœæããŸãã-ã¡ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ãååŸããŸãã
次ã®æ®µéã¯ãåæããŒã¿ã«åºã¥ããC3Dã³ã¢å ã®ãã¹ãŠã®å¿ èŠãªããã£ã®æ§ç¯ããããã®äžè§æž¬éãããã³èŠèŠåã®ããã®äžè§æž¬éã®ååŸã§ãã ãã®éšåã«åé¡ã¯ãããŸããã§ããã ExtrusionSolidãEvolutionSolidã®æ§ç¯é¢æ°ã«åºã¥ããŠãããã£ãæ§ç¯ãããBooleanResulté¢æ°ã䜿çšããŠãæžç®ãå ç®ã亀差ã«ãã£ãŠäºãã«çµåãããŸãã åºåã§ã¯ãBREPããŒã¿ãå«ãMbSolidããã£ïŒMbFaceãã§ãŒã¹ãMbEdgeãšããžãªã©ïŒã圢æããŸãã å€ããå°ãªããè€éãªã¢ãã«ã®ãã¹ããéå§ãããŸã§ããã¹ãŠã¯çŽ æŽãããããã§ãã-ãã£ãã·ã¥ãªãã§èšå€§ãªæ°ã®ãªããžã§ã¯ããæ§ç¯ããããšã¯ããã»ã©éããªãããšãå€æããŸãã-èªå·±èšè¿°ã¢ãããŒããšæ¯èŒããé床ã¯10åããšã«äœäžããŸããã ããã§ã¯ãC3Dã®TPã«æ¬æãè¡šããªããã°ãªããŸããã圌ãã¯ãæãäžè¬çãªããã£ããæåã§ãæ§ç¯ããæ©èœã®æžãæããæ¯æŽããŸãã ããã£ã®åé¢ãåå¥ã«äœæãããããã®ãã¹ãŠã®ãšããžãèšè¿°ããããããäºãã«æ¥ç¶ããŠãåºåã§æ£ããéããããã£ãååŸããããã£ãæ§ç¯ãå§ããŸããã
次ã®ã¹ãããã¯èŠèŠåã§ãã-C3Dããäžè§åœ¢åå²ãéžæããŠæç»ããŸãã ã¿ã¹ã¯ã¯ç°¡åã«èŠããŸããïŒæ¢åã®OpenGLã¬ã³ããªã³ã°ãèãããšïŒãäºæãã¬ãã£ããããããŸããïŒãã¯ã¹ãã£ã䜿çšãããªããžã§ã¯ãã®èŠèŠåã¯ç§ãã¡ã«ãšã£ãŠéåžžã«éèŠã§ãããC3Dã³ã¢ã®ãã¯ã¹ãã£åº§æšã®æ瀺çãªãµããŒãã¯ãããŸããïŒæããã«ãCompass 3Dã«ãªãããïŒã 次ã®ããã«ãã€ã¹ãããªããã°ãªããŸããã§ããïŒã³ã¢ã¯ãäžè§åœ¢ã®ãããããã©ã¡ããªãã¯åº§æšãçæããããšãå¯èœã«ããåé¢ã«å¯ŸããŠããã¯ã¹ãã£ãå€ããå°ãªãããªã¢ã«ã«ããããšãã§ããã¹ã±ãŒãªã³ã°ä¿æ°ãèšç®ã§ããŸãã ãã ãããã®æ¹æ³ã§ã¯ãè€æ°ã®é¢ã«é¢é£ä»ãããããã¯ã¹ãã£åº§æšãèšç®ã§ããŸããã è¿œå ã®ãã¯ã©ã³ãããäœæããå±æ§ã䜿çšããŠãé¢äžã®ãã¯ã¹ãã£ã®åº§æšãäºãã«æ¥ç¶ããå¿ èŠããããŸããã ããã«ãã¢ãã«ã®èŠèŠåãšç·šéã®ããã«ãããŸããŸãªããŒã¿ã転éããå¿ èŠããããŸãããŸããå±æ§ã䜿çšããŠä¿åããããšããå§ãããŸããå±æ§ã¯ãããã£ãé¢ããšããžã«å²ãåœãŠãããšãã§ããé åïŒååãšå€ïŒã§ãã
çµ±åã®æãå°é£ãªéšåã¯ã湟æ²ãããã¡ãµãŒãã®ããã£ã®ã¢ããªã³ã°ã§ããã

ãã®ãããªããã£ã®æ§ç¯ã¯éåžžã«éªšã®æããäœæ¥ã§ããããšãå€æããŸããã ãã®ã¿ã¹ã¯ã¯ãã¿ã¹ã¯ã®ã³ã¢ã®3ã€ã®æãéèŠãªæ¬ ç¹ãæããã«ããŸããïŒå€åœ¢æäœã®æ¬ åŠãã«ãŒã«ããµãŒãã§ã¹ãå«ãããã£ã®æ§é æäœããã³ç²ŸåºŠã®åé¡ã¯éåžžã«äžå®å®ã§ãããèªå·±èšè¿°ã³ã¢ã®ç²ŸåºŠãäœãããã«ã¢ãã«ããµããŒãããå¿ èŠããããå ¬å·®ã®å¶åŸ¡ãã§ããªãããã«æªåããŸããC3Dã³ã¢ã
çµ±åã®æçµæ®µéã¯ãããŸããŸãªãšã¯ã¹ããŒã/ã€ã³ããŒãæäœïŒSTEPãDXFïŒã身äœã®çžå¯Ÿäœçœ®ã®åæãªã©ã§ããã 幞ããªããšã«ãéçºè ã«ãã£ãŠå€ããå°ãªããè¿ éã«è§£æ±ºããããã«ãŒãã«ã§ããªãã®æ°ã®ãšã©ãŒãæ€åºããããããã°ã«ã€ããŠãå¥ã®èšèã§èšããããšæããŸãã ããã§ãç§ãã¡ãééããäž»ãªåé¡ãèŠçŽããããšæããŸãã
1.å€ãã®ã¬ã¬ã·ãŒã³ãŒãã2D / 3Dãžã®ãã¹ãŠã®ã¿ã€ãã®åé¢ã2Dã§ã®äžäŸ¿ã§çµ±äžãããŠããªãæ©èœãSTLãç¹°ãè¿ãèªå·±èšè¿°ã¿ã€ãããã³æ§é ãåãããäžååã§äŸ¿å©ãªæ§é åAPI
2.ãã¹ãŠã®æ§æèŠçŽ ã«ååãä»ããããã®ææžåãããŠããªãã¡ã«ããºã ãšããããã䜿çšãããŠããªããŠãéä¿¡ããå¿ èŠæ§
3.ãã¹ãŠã®ããŒã¿ã1e-6ã®ãªãŒããŒã®ç²ŸåºŠã«ããå¿ èŠæ§ã粟床管çã®æ¬ åŠãããã³èŠ³æž¬ãããªãå Žåã«çºçããããŸããŸãªãšã©ãŒ
4.ããã£ã®ãã©ã€ã¹å å·¥ãšå€åœ¢ã®çµè·¯ãæ§ç¯ããããã®æäœã®æ¬ åŠ
äžè¬ã«ã幟äœåŠçã¢ããªã³ã°ã®ã«ãŒãã«ã¯éåžžã«è€éãªãœãããŠã§ã¢ã§ããããããã®çµ±åã«ãããããŸããŸãªçš®é¡ã®åé¡ã¯é¿ããããŸããã ç§ãã¡ã®å Žåãå éšãœãªã¥ãŒã·ã§ã³ããæ¬æ Œçãªã«ãŒãã«ãžã®ç§»è¡ã¯ãèšå€§ãªæéãç¯çŽããèç©ãããåé¡ã®ã¬ã€ã€ãŒå šäœã解決ããŸãããåŸæããªããã°ãªããªãããšã¯ãæåã«æ¢è£œã®ã©ã€ãã©ãªãæ¢ãããšãæ°ã«ããªãã£ãããšã§ãã 次ã®å©ç¹ã¯ãæ¬æ Œçãªãžãªã¡ããªã³ã¢ãžã®ç§»è¡ãšã¯åºå¥ã§ããŸãã
1.å€§å¹ ãªæéã®ç¯çŽïŒç¬èªã®ãœãªã¥ãŒã·ã§ã³ã®äœæãšç¶æã«è²»ãããïŒ
2.äœæããããžãªã¡ããªã®å質ãæ²é¢ããã³å¢çã®æ£ããæ§ç¯ãæ¹åããŸãã
3.äžå¯èŠã®ç·ãåé€ããŠé«å質ã®å³é¢ãååŸãã
4.ãSaprovskyã3d圢åŒïŒSTEPãSATãXTãDXFïŒãžã®ãšã¯ã¹ããŒã/ã€ã³ããŒã
èªè ã®1人ãåæ§ã®ã©ã€ãã©ãªã䜿çšããçµéšãããå Žåã¯ããã®å®è£ ã®çµéšãå ±æããããšãé¡ã£ãŠããŸãã