
ã¬ãã¹ã³ã·ãªãŒãºãCOMPASS-3D APIã®æäœãã®å 容
1. åºæ¬
2. å³é¢ãã¶ã€ã³
3. COMPASSãžã®æ£ããæ¥ç¶
4. äž»ãªç¢æ
5. ã°ã©ãã£ãã¯ããªããã£ã
6. ããã¥ã¡ã³ããããŸããŸãªåœ¢åŒã§ä¿åãã
7. èšå®ãç¥ã
8.ã¿ã€ãã«ãããã¯ã«æžã蟌ãããè€éãªæ¹æ³
ç°¡åä¿å
ã°ã©ãã£ãã¯ããã¥ã¡ã³ããä¿åããã«ã¯ã ksDocument2Dã€ã³ã¿ãŒãã§ã€ã¹ã®ksSaveDocumentã¡ãœãããšksSaveDocumentExExã¡ãœããã䜿çšãããŸãã æåããå§ããŸãããããã®ãããã¿ã€ãã以äžã«ç€ºããŸãã
BOOL ksSaveDocument ( BSTR fileName // );
ã¡ãœãããžã®å¯äžã®ãã©ã¡ãŒã¿ãŒã¯ãããã¥ã¡ã³ããä¿åãããã¡ã€ã«ã®ãã«ããŒã ãå«ãæååã§ãã filenameãã©ã¡ãŒã¿ãŒã«ç©ºã®æååãå«ãŸããŠããå Žåãããã¥ã¡ã³ãã¯ksDocumentParamã€ã³ã¿ãŒãã§ã€ã¹ã®filenameããããã£ã§æå®ããããã¹ã«æ²¿ã£ãŠä¿åãããŸãïŒã«ãŒãã®æåã®éšåã§ç°¡åã«èª¬æããŸãïŒã
æå®ããååã®ãã¡ã€ã«ãæ¢ã«ååšããå ŽåãCOMPASã¯ãããäžæžãããããšã«æ³šæããŠãã ããã
æåããå Žåã ksSaveDocumentã¡ãœããã¯trueãè¿ãããšã©ãŒã®å Žåã¯falseãè¿ããŸã ã
ksSaveDocumentExExã¡ãœããã¯ksSaveDocumentã¡ãœããã«äŒŒãŠãããå®éã«ã¯æ¡åŒµããŒãžã§ã³ã§ãã 以äžã¯ã ksSaveDocumentExã¡ãœããã®ãããã¿ã€ãã§ãã
BOOL ksSaveDocumentEx ( BSTR fileName, // long version // );
ãããã¿ã€ããããããããã«ã ksSaveDocumentã¡ãœãããšæ¯èŒããŠã ksSaveDocumentExã¡ãœããã¯ãã1ã€ã®ãã©ã¡ãŒã¿ãŒãè¿œå ããŸãããããã¥ã¡ã³ããä¿åããKOMPASã®ããŒãžã§ã³ã®ãµã€ã³ã§ãã æå¹ãªå€ã¯3ã€ã ãã§ãã
-1-åã®ããŒãžã§ã³ãžã
0-çŸåšã®ããŒãžã§ã³ã
1-ããŒãžã§ã³5.11ãžã
ksSaveDocumentExã¡ãœãããšksSaveDocumentã¡ãœããã®å¯äžã®éãã¯ãè¿œå ã®ãã©ã¡ãŒã¿ãŒã§ãã ããŒãžã§ã³ãã©ã¡ãŒã¿ã0ã«ããŠksSaveDocumentExã¡ãœãããåŒã³åºãããšã¯ã ksSaveDocumentã¡ãœãããåŒã³åºãããšãšåãã§ãã
DXF圢åŒã«ä¿å
ãŠã£ãããã£ã¢ã«ãããšïŒ DXF ïŒDrawing eXchange FormatïŒã¯ãCADã¢ããªã±ãŒã·ã§ã³éã§ã°ã©ãã£ãã¯æ å ±ã亀æããããã®ãªãŒãã³ãã¡ã€ã«åœ¢åŒã§ãã KOMPASã¯ãã®åœ¢åŒããµããŒãããŠããããã®åœ¢åŒã§ããã¥ã¡ã³ããä¿åã§ããŸãã
ã°ã©ãã£ãã¯ããã¥ã¡ã³ããDXF圢åŒã§ä¿åããã«ã¯ã ksDocument2Dã€ã³ã¿ãŒãã§ã€ã¹ã®ksSaveToDXFã¡ãœããã䜿çšããŸãã ããã圌ã®ãããã¿ã€ãã§ãã
BOOL ksSaveToDXF ( LPCTSTR dxfFileName // );
å¯äžã®ãã©ã¡ãŒã¿ãŒãšããŠãããã¥ã¡ã³ãã®ä¿åå ã®ãã¡ã€ã«ãžã®ãã«ãã¹ã䜿çšããŸãã æåããå Žåãã¡ãœããã¯trueãè¿ãããšã©ãŒã®å Žåã¯falseãè¿ããŸã ã
åºæ¬çã«ãDXF圢åŒã¯ããã¹ã圢åŒã§ãããæšæºã®ã¡ã¢åž³ã§ãã¡ã€ã«ã®å 容ã衚瀺ã§ããŸãã ãã ããã¡ã¢åž³ã¯ãã®åœ¢åŒãå®å šã«ã¯ãµããŒãããŠããŸããã ãã¡ã€ã«ã®å 容ãå®å šã«è¡šç€ºããã«ã¯ãsharecad.orgãµã€ããŸãã¯ç¹å¥ãªããã°ã©ã ã䜿çšã§ããŸãã 次ã®å³ã¯ãDXF圢åŒã§ä¿åãããsharecad.orgã§éããŠããå³é¢ã瀺ããŠããŸãã

sharecad.orgã§éããŠããDXFå³é¢
ã©ã¹ã¿ãŒåœ¢åŒã®ä¿åãªãã·ã§ã³
KOMPASã§ã¯ãããã¥ã¡ã³ããã©ã¹ã¿ãŒåœ¢åŒã§ä¿åã§ããŸãã ãããè¡ãã«ã¯ãæåã«ksRasterFormatParamãã©ã¡ãŒã¿ãŒinterfaceã«å ¥åããå¿ èŠããããŸã ã ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã¯ã ksDocument2Dã€ã³ã¿ãŒãã§ã€ã¹ã®RasterFormatParamïŒïŒã¡ãœããã䜿çšããŠååŸã§ããŸãã ãã®ã¡ãœããã«ã¯å ¥åãã©ã¡ãŒã¿ãŒããªããæåããå Žåã ksRasterFormatParamã€ã³ã¿ãŒãã§ã€ã¹ãè¿ããŸãã ãšã©ãŒã®å Žåã NULLãè¿ããŸã ã ksRasterFormatParamã€ã³ã¿ãŒãã§ã€ã¹ã®ããããã£ãæ€èšããŠãã ããã
colorBPP-ããããããç»åã®è²ã äœæããç»åã®è²æ·±åºŠãæå®ããŸãã ãã®ããããã£ã®æå¹ãªå€ã¯ã以äžã®è¡šã«ãªã¹ããããŠããŸãã å®æ°ã¯ldefin2d.hã¢ãžã¥ãŒã«ã§å®£èšãããŸãã

colorBPPããããã£ã®æå¹ãªå€
colorType-ã°ã©ãã£ãã¯ç»åã®åºåã®è²æ·±åºŠã ãã®ããããã£ã¯colorBPPããããã£ã«äŒŒãŠãããæå¹ãªå€ã¯åãã§ãã 2ã€ã®éãã¯ã colorBPPããããã£ãçµæã®ãã¡ã€ã«ã®è²æ·±åºŠã決å®ããcolorTypeãã°ã©ãã£ãã¯ãªããžã§ã¯ãããã¡ã€ã«ã«ä¿åããåã«ã©ã¹ã¿ãŒåœ¢åŒã«å€æãããšãã®è²æ·±åºŠã決å®ããããšã§ãã
extResolution-ã€ã³ããããã®ãããæ°ã§ã®ãããããã解å床ã ãã®ããããã£ã®å€ããŒãã®å ŽåãçŸåšã®ç»é¢è§£å床ã䜿çšãããŸãã ç»åãäœæã§ããæ倧解å床ã¯960 dpiã§ããããããçç£çãªã·ã¹ãã ã§ã¯å¯èœã§ãããããã«é«ã解å床ã§ç»åãäœæã§ããŸãã
extScale-ã¹ã±ãŒã«ã extScaleå€ã1 ãã倧ããå Žåãã€ã¡ãŒãžã¯extScaleåã«æ¡å€§ãããŸãã åäœã1æªæºã®å Žåãã€ã¡ãŒãžã¯1 / extScaleåã«åæžãããŸãã
format-ããããããç»åã®åœ¢åŒã ãã®ããããã£ã®æå¹ãªå€ã次ã®è¡šã«ç€ºããŸãã å®æ°ã¯ldefin2d.hã¢ãžã¥ãŒã«ã§å®£èšãããŸãã

formatããããã£ã®æå¹ãªå€
WMF圢åŒã¯ãµããŒããããŠããŸããã KOMPASã®è³æã«ãããšããã®åœ¢åŒã§ããã¥ã¡ã³ããä¿åããããšãããšãEMF圢åŒã§ä¿åãããŸãã
grayScale-ã°ã¬ãŒã®é°åœ±ã䜿çšããå åã ãã®ããããã£ã®å€ãtrueã®å Žå ãã°ã¬ãŒã¹ã±ãŒã«ã䜿çšãããŸãã ããããã£å€ãfalseã®å Žåãã«ã©ãŒç»åãä¿åãããŸãã
multiPageOutput -1ã€ã®ãã¡ã€ã«ã«ããã¥ã¡ã³ãã·ãŒããä¿åãããã©ã°ã ãã®ããããã£ã®å€ãtrueã®å Žå ãããã¥ã¡ã³ãã®ãã¹ãŠã®ã·ãŒãã1ã€ã®ãã¡ã€ã«ã«ä¿åãããŸãã ãã®ããããã£ã®å€ãfalseã®å Žåãã·ãŒãã¯åå¥ã®ãã¡ã€ã«ã«ä¿åãããŸãã ãã®ããããã£ã¯ãTIFF圢åŒã§ã®ã¿äœ¿çšãããŸãã ããããç§ã®å®éšã瀺ãããã«ãTIFF圢åŒã®KOMPASã¯ã multiPageOutputããããã£ã®å€ã«é¢ä¿ãªããããã¥ã¡ã³ãã®ã·ãŒãã1ã€ã®ãã¡ã€ã«ã«ä¿åããŸãã ä»ã®åœ¢åŒã®å Žåãã·ãŒãã¯åå¥ã®ãã¡ã€ã«ã«ä¿åãããŸãã
onlyThinLine-现ãç·ã§ã®åºåã®ãµã€ã³ã ãã®ããããã£ã®å€ãtrueã®å Žå ãããã¥ã¡ã³ãã®ã³ã³ãã³ãã¯çŽ°ãç·ã§ã®ã¿è¡šç€ºãããŸãã ãã®ããããã£ã®å€ãfalseã®å Žåããªããžã§ã¯ãã«èšå®ãããè¡ãããã¥ã¡ã³ãåºåã§äœ¿çšãããŸãã
pages-ããã¥ã¡ã³ãã®åºåã·ãŒãã®ãªã¹ããæååãšããŠè¡šç€ºãããŸãã ãªã¹ãã®äŸïŒã 1-18ã24-25 ã ãã®äŸã§ã¯ãã·ãŒã1ãã18ãããã³24ã·ãŒããš25ã·ãŒãã衚瀺ãããŸãã ã·ãŒãã®çªå·ä»ãã¯1ã€ããå®è¡ãããŸãã è¡ã空ã®å ŽåãCOMPASSã¯ãã®ããããã£ã䜿çšããŸããã
rangeindex-å¶æ°ã·ãŒããšå¥æ°ã·ãŒãã®éžæã®å åã æå¹ãªããããã£å€ã¯æ¬¡ã®ãšããã§ãã
0-ãã¹ãŠã®ã·ãŒãã
1-å¥æ°ã·ãŒãã
2-å¶æ°ã·ãŒãã
ksRasterFormatParamã€ã³ã¿ãŒãã§ã€ã¹ã®ã¡ãœãã㯠1ã€ã ãã§ãã
InitïŒïŒ -ãã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹ããããã£ããŒãã«ãªã»ããããŸãã å ¥åãã©ã¡ãŒã¿ãŒã¯ãªããæåãããštrueãè¿ããŸã ã
ãããããããšããŠä¿åãã
ææžãã©ã¹ã¿ãŒã€ã¡ãŒãžãšããŠä¿åããã«ã¯ã ksDocument2Dã€ã³ã¿ãŒãã§ã€ã¹ã®SaveAsToRasterFormatã¡ãœããã䜿çšãããŸãã 以äžã¯ãã®ãããã¿ã€ãã§ãã
BOOL SaveAsToRasterFormat ( BSTR fileName, // LPDISPATCH rasterPar // );
æåã®ãã©ã¡ãŒã¿ãŒã¯ãããã¥ã¡ã³ããä¿åãããã¡ã€ã«ãžã®ãã«ãã¹ãèšå®ããŸãã
2çªç®ã®ãã©ã¡ãŒã¿ãŒã«ã¯ãä¿åãªãã·ã§ã³ããããããããšããŠèšå®ããksRasterFormatParamã€ã³ã¿ãŒãã§ã€ã¹ãå«ãŸããŸãã
æåããå Žåã SaveAsToRasterFormatã¡ãœããã¯trueãè¿ãããšã©ãŒã®å Žåã¯falseãè¿ããŸã ã
以äžã¯ããã®ã¡ãœããã®äœ¿çšäŸã§ãã
// , WideString str_filepath; str_filepath = ExtractFileDir(Application->ExeName); str_filepath += L"\\MyNewDocument.jpg"; // KompasObjectPtr kompas; kompas.CreateInstance(L"KOMPAS.Application.5"); // DocumentParamPtr DocumentParam; DocumentParam=(DocumentParamPtr)kompas->GetParamStruct(ko_DocumentParam); DocumentParam->Init(); DocumentParam->type= lt_DocSheetStandart;// // Document2DPtr Document2D; Document2D = (Document2DPtr)kompas->Document2D(); Document2D->ksCreateDocument(DocumentParam); // RasterFormatParamPtr RasterFormatParam; RasterFormatParam = (RasterFormatParamPtr)Document2D->RasterFormatParam(); RasterFormatParam->Init(); RasterFormatParam->set_colorBPP(BPP_COLOR_24); RasterFormatParam->set_colorType(BPP_COLOR_24); RasterFormatParam->set_extResolution(0); RasterFormatParam->set_extScale(1.0); RasterFormatParam->set_format(FORMAT_JPG); RasterFormatParam->set_greyScale(false); RasterFormatParam->set_onlyThinLine(false); RasterFormatParam->set_pages(SysAllocString(L"")); RasterFormatParam->set_rangeIndex(0); // Document2D->SaveAsToRasterFormat(SysAllocString(str_filepath.c_bstr()), RasterFormatParam); // RasterFormatParam.Unbind(); Document2D.Unbind(); kompas->set_Visible(true); kompas.Unbind();
ãã®äŸã§ã¯ãæ°ããããã¥ã¡ã³ããäœæãããjpegã€ã¡ãŒãžãšããŠä¿åãããŸãã ããã¥ã¡ã³ãã¯ç©ºãªã®ã§ãã»ãšãã©ã®å Žåã空çœã®ã·ãŒãã衚瀺ãããŸããéåçšããŒãžã§ã³ã§ã¯ãäžå³ã®ããã«ãå·Šäžé ã«KOMPASãšããŒã¯ãããŠããŸãã

éåçšçã®ããã¥ã¡ã³ãã«ããŒã¯ãä»ããïŒã·ãŒãã®ç«¯ã¯æ¡ä»¶ä»ãã§è¡šç€ºãããŸãïŒ
ãã«ãã·ãŒãããã¥ã¡ã³ãã®ä¿å
ææžãä¿åããçµæã1ã€ã®ãã¡ã€ã«ãšè€æ°ã®ãã¡ã€ã«ãååŸã§ããŸãã 次ã®å Žåã«1ã€ã®ãã¡ã€ã«ãååŸãããŸãã
- ä¿åãããããã¥ã¡ã³ãã¯1ã€ã®ã·ãŒãã§æ§æãããŸãã
- 1æã®ããã¥ã¡ã³ãã®ã¿ãä¿åãããŸãã
- ããã¥ã¡ã³ãã¯TIFF圢åŒã§ä¿åãããŸãã
ãã以å€ã®å Žåãããã¥ã¡ã³ããä¿åãããšãããã€ãã®ãã¡ã€ã«ãäœæãããŸãã ã·ãŒãããšã«1ã€ã®ãã¡ã€ã«ã åæã«ãä¿åãããŠããã·ãŒãã®çªå·ããã¡ã€ã«åã«è¿œå ãããŸãã ããšãã°ã SaveAsToRasterFormatã¡ãœããã®fileNameãã©ã¡ãŒã¿ãŒã§pict.jpegãã¡ã€ã«ã®ååãæå®ããå Žåãçªå·1ã4ã5ã®ã·ãŒããä¿åãããšãpictïŒ1ïŒ.jpegãpictïŒ4ïŒ.jpegãpictïŒ5ïŒã®3ã€ã®ãã¡ã€ã«ãäœæãããŸã.jpegã
ã·ãŒãã®ä¿åå ã®ãã¡ã€ã«ãæ¢ã«ååšããå ŽåãååŸãããã¡ã€ã«ã®æ°ã«å¿ããŠCOMPASã®åäœãç°ãªããŸãã 1ãã¡ã€ã«ã®å ŽåãèŠåãªãã§äžæžããããŸãã è€æ°ã®ãã¡ã€ã«ãçæãããå ŽåãKOMPASã¯ä»¥äžã«ç€ºããã€ã¢ãã°ããã¯ã¹ã衚瀺ããŸãã ãã®å Žåã SaveAsToRasterFormatã¡ãœãã㯠ããŠãŒã¶ãŒããŠã£ã³ããŠãéãããŸã§ã³ã³ãããŒã«ãè¿ããŸããã

ãã¡ã€ã«äžæžãèŠåãã€ã¢ãã°ããã¯ã¹
ãããã®ãŠã£ã³ããŠã¯ãKOMPASãé衚瀺ã¢ãŒãã§èµ·åãããå Žåã§ã衚瀺ãããŸãã
ä¿åãããã·ãŒãã®æ°ã¯ã ããŒãžããã³rangeindexããããã£ã䜿çšããŠèšå®ãããŸã ã COMPASSã§ã®äœ¿çšæ¹æ³ãæ€èšããŠãã ããã
pagesããããã£ãèšå®ãããŠããªããã空ã®æååãå«ãã§ããã rangeindexããããã£ã®å€ããŒãã®å Žå ãããã¥ã¡ã³ãã®ãã¹ãŠã®ã·ãŒããä¿åãããŸãã pagesããããã£ãèšå®ãããŠããŠã rangeindexããããã£ã®å€ããŒãã®å Žåã pagesããããã£ã§æå®ããããã¹ãŠã®ã·ãŒããä¿åãããŸãã
pagesããããã£ã«ç¡å¹ãªã·ãŒãçªå·ãå«ãŸããŠããå Žåãç¡èŠãããŸãã ããšãã°ã5æã®ã·ãŒãã§æ§æãããããã¥ã¡ã³ãã®å Žåã ããŒãžããããã£ã«è¡ã 0,1,4,8 ããèšå®ãããŠããå Žåãã·ãŒã1ãš4ãä¿åãããŸããã·ãŒã1ãš3ãä¿åãããŸãã
rangeindexããããã£ã1 ïŒ 2 ïŒã§ã pagesããããã£ãèšå®ãããŠããªãå Žåã ããã¥ã¡ã³ãã®ãã¹ãŠã®å¥æ°ïŒå¶æ°ïŒã·ãŒããä¿åãããŸãã ããšãã°ã5ã€ã®ã·ãŒãã§æ§æãããããã¥ã¡ã³ãã®å Žåã rangeindexããããã£ã1ã§ã pagesããããã£ãèšå®ãããŠããªãå ŽåãsheetsïŒ 1ã3ã5ãä¿åãããŸãã
rangeindexããããã£ã1 ïŒ 2 ïŒã§ã pagesããããã£ãèšå®ãããŠããå Žåã pagesããããã£ã§æå®ãããå¥æ°ïŒå¶æ°ïŒã·ãŒããä¿åãããŸãã ããšãã°ãæäŸããã
pages = " 1,2,3 ";
rangeindex = 1 ;
ã·ãŒã1ãš3ã¯ä¿åãããŸãããã·ãŒã2ã¯ããã¥ã¡ã³ãã«ããå Žåãã·ãŒã5ãšãŸã£ããåãããã«ä¿åãããŸããã
äŸãèŠãŠã¿ãŸãããïŒ
pages = " 1.3 ";
rangeindex = 2
ãã®å Žåãåäžã®ã·ãŒãã¯ä¿åãããŸããã rangeindexããããã£ã®å€ã«åŸã£ãŠã KOMPASã¯å¶æ°ã·ãŒããä¿åããå¿ èŠããããŸããã pagesããããã£ã§å¶æ°ã·ãŒããæå®ãããŠããŸããã ãããã£ãŠã SaveAsToRasterFormatã¡ãœããã¯äœãä¿åããã falseãè¿ããŸã ã
å§çž®ããã«ä¿å
å§çž®ããã«ããã¥ã¡ã³ããã©ã¹ã¿ãŒã€ã¡ãŒãžãšããŠä¿åããã«ã¯ã ksDocument2Dã€ã³ã¿ãŒãã§ã€ã¹ã®SaveAsToUncompressedRasterFormatã¡ãœããã䜿çšããŸãã ãã®ã¡ãœããã¯ã åè¿°ã®SaveAsToRasterFormatã¡ãœãããšå®å šã«äŒŒãŠããŸãã ãããã£ãŠãããã«ã€ããŠã¯èª¬æããŸããã
SaveAsToRasterFormatã¡ãœãããšSaveAsToUncompressedRasterFormatã¡ãœããã®éãã¯ãTIFFãã¡ã€ã«ã§äœæ¥ããŠããå Žåã«ã®ã¿è¡šç€ºãããããšã«æ³šæããŠãã ããã ä»ã®ã¿ã€ãã®ãã¡ã€ã«ã«ã€ããŠã¯ããŸã£ããåãããã«æ©èœããŸãã
ãããã«
ãã®èšäºã§ã¯ãã°ã©ãã£ãã¯ããã¥ã¡ã³ããããŸããŸãªåœ¢åŒã§ä¿åããæ¹æ³ã«ã€ããŠèª¬æããŸããã ãããããããŸãã¯DXFãšããŠä¿åããŠã ã ksSaveDocumentã¡ãœãããŸãã¯ksSaveDocumentExã¡ãœããã䜿çšããä¿åã«çœ®ãæãããã®ã§ã¯ãããŸããã
äžè¬ã«ãKOMPASã®ã¢ããªã±ãŒã·ã§ã³ãéçºãããšãã¯ãããã¥ã¡ã³ããä¿åãã責任è ïŒããªããŸãã¯ãŠãŒã¶ãŒïŒãæ確ã«æ±ºå®ããå¿ èŠããããŸãã ã»ãšãã©ã®å ŽåããŠãŒã¶ãŒãããã«è²¬ä»»ãè² ãã¹ãã ãšæããŸãã ããã°ã©ã ã¯ããã¥ã¡ã³ããäœæãããŠãŒã¶ãŒã«è¡šç€ºããŸãããŠãŒã¶ãŒã¯æ¬¡ã«äœããããã決å®ããŸããä¿åããããå¿ããŸããã ãã ããããã°ã©ã ã§å€§éã®ããã¥ã¡ã³ããå€æŽããå¿ èŠãããå Žåã¯ãããã¥ã¡ã³ããä¿åããã¿ã¹ã¯ããŠãŒã¶ãŒã«ç§»ãã®ã¯é¢åã§ãã ãã®å Žåãããã°ã©ã ã¯ããã¥ã¡ã³ããä¿åããå¿ èŠããããŸãã ãã¹ãŠã¯ã¿ã¹ã¯ã«äŸåããŸããã
ç¶ç¶ããã«ã¯ãããã°ã®ãã¥ãŒã¹ã«åŸã£ãŠãã ããã
