几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】color palette and linetype1 (http://www.dimcax.com/hust/showthread.php?t=15428)

yang686526 2009-05-04 05:55 PM

【转帖】color palette and linetype1
 
color palette and linetype!
color palette and linetype!
hi everybody,
i am a newbie.
i have a cad system my own.
now i am trying to write a lib (use dwgdirect) which can read and write dwg file and link that library with my cad/cam system.
i have a trouble with color and linetype.
my cad system use palette color from 0~255, how could i change color from my system to dwg and reverse.
i can not get linetype when trying read dwg file, and please tell me the best way to use linetype.
thanks a lot!
best regards!
tuan nq
to map colors from your palette to autocad's you can simply set rgb color to entity using setcolor(const odcmcolor&).
odcmcolor object can be set to rgb color.
to map colors from autocad to your system you can get rgb color from entity and look up index of nearest color in your palette. this can be optimized by using a mapping array to map index in one palette to index in another palette. but note that in autocad 2004 files entity color can be specified by rgb.
special aci (autocad color index) values 0 - byblock and 256 - bylayer require special handling.
see also colormapping.h and cmcolor.h
btw, in 1.10 maintenance release
code:
odcmlookupaci(odcolorref rgb, const odcolorref* palette);
will be available to perform index lookup for given palette.
linetype
oddbentity::linetypeid() returns object id of oddblinetypetablerecord describing the linetype. see oddblinetypetablerecord methods.
sergey slezkin
thanks!
thanks for your answer, sergey slezkin!
i have a more question. i am using dwgdiret 1.10 but i can not find the method
code:--------------------------------------------------------------------------------
odcmlookupaci(odcolorref rgb, const odcolorref* palette);
--------------------------------------------------------------------------------
that all i can find is
toolkit_export int odcmlookupaci(odcolorref rgb, bool blightbackground = true)
inline int odcmlookupaci(odcolorref rgb, odcolorref background)
please help,
best regrads!
tuan nq
this method will be available in 1.10 maintenance release (next week)
sergey slezkin


所有的时间均为北京时间。 现在的时间是 06:59 AM.