기본 콘텐츠로 건너뛰기

라벨이 Color인 게시물 표시

graphic element들의 색상(gray color) 변경

색상을 변경하는 예제입니다. ULong elemAddr[50], eofPos, filePos; int scanWords, numChanged=0, status, i, numAddr; Scanlist scanList; int grayColor = 32; MSElementUnion el; mdlScan_initScanlist (&scanList); mdlScan_noRangeCheck (&scanList); scanList.extendedType = FILEPOS; mdlScan_initialize (0, &scanList); do { scanWords = sizeof(elemAddr)/sizeof(short); status = mdlScan_file (elemAddr, &scanWords, sizeof(elemAddr), &filePos); numAddr = scanWords / sizeof(short); for (i=0; i<numAddr; i++) { mdlElement_read(&el, 0, elemAddr[i] ); mdlElement_setSymbology(&el , &grayColor , NULL , NULL); mdlElement_rewrite(&el , NULL , elemAddr[i]); } } while (status == BUFF_FULL);

OpenCasCade - Face에 색상 설정

아래 코드를 참조하세요... Handle(Geom_TrimmedCurve) aSegment1 = GC_MakeSegment(pnt1 , pnt2); Handle(Geom_TrimmedCurve) aSegment2 = GC_MakeSegment(pnt2 , pnt3); Handle(Geom_TrimmedCurve) aSegment3 = GC_MakeSegment(pnt3 , pnt1); TopoDS_Edge aEdge1 = BRepBuilderAPI_MakeEdge(aSegment1); TopoDS_Edge aEdge2 = BRepBuilderAPI_MakeEdge(aSegment2); TopoDS_Edge aEdge3 = BRepBuilderAPI_MakeEdge(aSegment3); TopoDS_Wire aWire = BRepBuilderAPI_MakeWire(aEdge1 , aEdge2 , aEdge3); TopoDS_Face aFace = BRepBuilderAPI_MakeFace(aWire); Handle(AIS_Shape) aShape = ::new AIS_Shape(aFace); aShape->SetColor(Quantity_NOC_CORAL); //! 칼라 설정 m_pAISContext->SetMaterial(aShape , Graphic3d_NOM_DEFAULT); //! Material 정보는 DEFAULT로 m_pAISContext->SetDisplayMode(aShape,1,Standard_False); m_pAISContext->Display(aShape , false); 아래는 칼라 정보로 사용할수 있는 열거형 값입니다. enum Quantity_NameOfColor { Quantity_NOC_BLACK, Quantity_NOC_MATRABLUE, Quantity_NOC_MATRAGRAY, Quantity_NOC_ALICEBLUE, Quantity_NOC_ANTIQUEWHITE, Quanti...

블럭의 색상 변경하기

사용 함수 : ArxSetBlockRefColor(AcDbBlockReference* pBlkRef , const int& colorIndex) /** \brief The ArxSetBlockDefColor function \param objId a parameter of type const AcDbObjectId& \param colorIndex a parameter of type const int& \return void */ void ArxSetBlockDefColor(const AcDbObjectId& objId , const int& colorIndex) { USES_OKEYS; AcDbBlockTableRecord* pRcd; try { ARXOK(acdbOpenObject(pRcd,objId,AcDb::kForRead)); ////////////////////////////////////////////////////////////////////////// AcDbBlockTableRecordIterator* pIterator; if(Acad::eOk == pRcd->newIterator(pIterator)) { for(;pIterator && !pIterator->done();pIterator->step()) { AcDbEntity* pEnt; try { ARXOK(pIterator->getEntity(pEnt,AcDb::kForWrite)); if(pEnt->isKindOf(AcDbBlockReference::desc())) { AcDbObjectId blockId = AcDbBlockReference::cast(pEnt)->blockTableRecord(); pEnt->setColorIndex(c...