天天看點

标注樣式各屬性的複制

                                                                                         軟體架構師何志丹

針對場景:

setDimensionStyle 時,程式崩潰或實體消失或其它異常。 可以用此函數 看是那行崩的。

//  AcDbDatabase, AcDbDimstyleTableRecord,AcDbDimension 間複制所有屬性

    //  自定義實體子實體如果設定了标注樣式且此标注樣式不是目前樣式,可能會引起實體不顯示,直接設值,沒問題。 

    template<class DST, class SRC>

    void CopyDimStyle(DST& dst, SRC& src)

    {

        dst.setDimadec(src.dimadec());

        dst.setDimalt(src.dimalt());

        dst.setDimaltd(src.dimaltd());

        dst.setDimaltf(src.dimaltf());

        dst.setDimaltrnd(src.dimaltrnd());

        dst.setDimalttd(src.dimalttd());

        dst.setDimalttz(src.dimalttz());

        dst.setDimaltu(src.dimaltu());

        dst.setDimaltz(src.dimaltz());

        dst.setDimapost(src.dimapost());

        dst.setDimarcsym(src.dimarcsym());

        dst.setDimasz(src.dimasz());

        dst.setDimatfit(src.dimatfit());

        dst.setDimaunit(src.dimaunit());

        dst.setDimazin(src.dimazin());

        dst.setDimblk(src.dimblk());

        dst.setDimblk1(src.dimblk1());

        dst.setDimblk2(src.dimblk2());

        dst.setDimcen(src.dimcen());

        dst.setDimclrd(src.dimclrd());

        dst.setDimclre(src.dimclre());

        dst.setDimclrt(src.dimclrt());

        dst.setDimdec(src.dimdec());

        dst.setDimdle(src.dimdle());

        dst.setDimdli(src.dimdli());

        dst.setDimdsep(src.dimdsep());

        dst.setDimexe(src.dimexe());

        dst.setDimexo(src.dimexo());

        dst.setDimfrac(src.dimfrac());

        dst.setDimgap(src.dimgap());

        dst.setDimjogang(src.dimjogang());

        dst.setDimjust(src.dimjust());

        dst.setDimldrblk(src.dimldrblk());

        dst.setDimlfac(src.dimlfac());

        dst.setDimlim(src.dimlim());

        dst.setDimltex1(src.dimltex1());

        dst.setDimltex2(src.dimltex2());

        dst.setDimltype(src.dimltype());

        dst.setDimlunit(src.dimlunit());

        dst.setDimlwd(src.dimlwd());

        dst.setDimlwe(src.dimlwe());

        dst.setDimpost(src.dimpost());

        dst.setDimrnd(src.dimrnd());

        dst.setDimsah(src.dimsah());

        dst.setDimscale(src.dimscale());

        dst.setDimsd1(src.dimsd1());

        dst.setDimsd2(src.dimsd2());

        dst.setDimse1(src.dimse1());

        dst.setDimse2(src.dimse2());

        dst.setDimsoxd(src.dimsoxd());

        dst.setDimtad(src.dimtad());

        dst.setDimtdec(src.dimtdec());

        dst.setDimtfac(src.dimtfac());

        dst.setDimtfill(src.dimtfill());

        dst.setDimtfillclr(src.dimtfillclr());

        dst.setDimtih(src.dimtih());

        dst.setDimtix(src.dimtix());

        dst.setDimtm(src.dimtm());

        dst.setDimtmove(src.dimtmove());

        dst.setDimtofl(src.dimtofl());

        dst.setDimtoh(src.dimtoh());

        dst.setDimtol(src.dimtol());

        dst.setDimtolj(src.dimtolj());

        dst.setDimtp(src.dimtp());

        dst.setDimtsz(src.dimtsz());

        dst.setDimtvp(src.dimtvp());

        dst.setDimtxsty(src.dimtxsty());

        dst.setDimtxt(src.dimtxt());

        dst.setDimtzin(src.dimtzin());

        dst.setDimupt(src.dimupt());

        dst.setDimzin(src.dimzin());

        dst.setDimfxlenOn(src.dimfxlenOn());

        dst.setDimfxlen(src.dimfxlen());

        dst.setDimtxtdirection(src.dimtxtdirection());

        dst.setDimmzf(src.dimmzf());

        dst.setDimmzs(src.dimmzs());

        dst.setDimaltmzf(src.dimaltmzf());

        dst.setDimaltmzs(src.dimaltmzs());

    }