找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2599|回复: 29

[日积月累]:用ARX进行三维建模的经验技巧

[复制链接]
发表于 2004-5-18 14:31:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
希望大家在这里研究探讨一些三维开发的经验技巧,本人做该方面的工作有段时间,不过有些东西还是搞不明白,此方面的资料又奇缺!!

[php]
//*********************生成长方体***********************
/*        pt -- 长方体中心;
        xLen -- 长方体在x方向上的长度;
        yLen -- 长方体在y方向上的长度;
        zLen -- 长方体在Z方向上的长度;*/
//******************************************************
void CreatBox(AcGePoint3d pt, double xLen, double yLen, double zLen)
{
        AcGePoint3d ptCent(0,0,0);
        Acad::ErrorStatus es;
        AcDb3dSolid *p3dObj = new AcDb3dSolid;
        es = p3dObj->createBox(xLen, yLen, zLen);
        if (es != Acad::eOk)
        {
//                AfxMessageBox("建立长方体失败!!");
        }
        AcDbObjectId entid;
        pBlockTableRecord->appendAcDbEntity(entid,p3dObj);
        p3dObj->close();
        Move_Ent(entid,ptCent,pt);
}

//*******************生成平截头体**************************
/*        pt -- 直径中心并位于高度的一半处
        注意:地面平行于xy平面*/
//*********************************************************
void CreatFrustum(AcGePoint3d pt,                                                       double m_h,                                         double m_xRad,                                 double m_yRad,                                 double topXRad)
{
        AcGePoint3d ptCent(0,0,0);       
        Acad::ErrorStatus es;
        AcDb3dSolid  *p3dObj = new AcDb3dSolid;
        es = p3dObj->createFrustum(m_h,m_xRad,m_yRad,topXRad);
        if (es != Acad::eOk)
        {
                AfxMessageBox("建立平截头体失败!!");
        }
        AcDbObjectId entid;
        pBlockTableRecord->appendAcDbEntity(entid,p3dObj);
        p3dObj->close();
        Move_Ent(entid,ptCent,pt);
}

//*******************生成球体************************
/*        pt -- 球心
        m_rad -- 球体半径*/
//***************************************************
void CreatSphere(AcGePoint3d pt, double m_rad)
{
        AcGePoint3d ptCent(0,0,0);       
        Acad::ErrorStatus es;
        AcDb3dSolid  *p3dObj = new AcDb3dSolid;
        es = p3dObj->createSphere(m_rad);
        if (es != Acad::eOk)
        {
                AfxMessageBox("建立球体失败!!");
        }
        AcDbObjectId entid;
        pBlockTableRecord->appendAcDbEntity(entid,p3dObj);
        p3dObj->close();
        Move_Ent(entid,ptCent,pt);
}

//******************生成圆环体************************
/*        pt -- 圆环中心
        m_majRad -- 圆环半径
        m_minRad -- 圆管半径
        注意 :圆环平面位于xy平面*/
//****************************************************
void CreatTorus(AcGePoint3d pt, double m_majRad, double m_minRad)
{
        AcGePoint3d ptCent(0,0,0);       
        Acad::ErrorStatus es;
        AcDb3dSolid  *p3dObj = new AcDb3dSolid;
        es = p3dObj->createTorus(m_majRad, m_minRad);
        if (es != Acad::eOk)
        {
                AfxMessageBox("建立圆环体失败!!");
        }
        AcDbObjectId entid;
        pBlockTableRecord->appendAcDbEntity(entid,p3dObj);
        p3dObj->close();
        Move_Ent(entid,ptCent,pt);
}

//**************生成楔体**********************
/*        pt -- 直径中心并位于高度的一半处
        注意:长宽组成矩形*/
//********************************************
void CreatWedge(AcGePoint3d pt,                                           double xLen,                                                double yLen,
                  double zLen)
{
        AcGePoint3d ptCent(0,0,0);       
        Acad::ErrorStatus es;
        AcDb3dSolid  *p3dObj = new AcDb3dSolid;
        es = p3dObj->createWedge(xLen, yLen, zLen);
        if (es != Acad::eOk)
        {
                AfxMessageBox("建立楔体失败!!");
        }
        AcDbObjectId entid;
        pBlockTableRecord->appendAcDbEntity(entid,p3dObj);
        p3dObj->close();
        Move_Ent(entid,ptCent,pt);
}

//******************生成回转体**********************
/*        pt -- 旋转基点
        ver -- 旋转轴
        angle -- 旋转角度(角度制)
        注意: 旋转轴不能垂直于面域平面、不能穿过面域*/
//**************************************************
void CreatRevolve(AcDbObjectId entid,
                                                                AcGeVector3d normal,
                                                                AcGePoint3d pt,
                                                                AcGeVector3d ver,
                                                                double angle)
{
        Acad::ErrorStatus es;       
        AcDbCurve    *curve;
        AcDbObjectId     tm;
        if (acdbOpenObject(curve,entid,AcDb::kForWrite)!=Acad::eOk)
        {
                AfxMessageBox("打开实体失败!");
                return ;               
        }
        AcDbVoidPtrArray  lines,regions1;
        lines.append((void*)curve);
        curve->close();
        es = AcDbRegion::createFromCurves(lines,regions1);
        if(es != Acad::eOk)
        {
                AfxMessageBox("获得面域失败!");
                return ;
        }
        angle = angle*PI/180;
        AcDbRegion *pregion1=AcDbRegion::cast((AcRxObject*)regions1[0]);
        AcDb3dSolid *p3dobj = new AcDb3dSolid;
        es = p3dobj->revolve(pregion1,pt,ver,angle);
        if (es != Acad::eOk)
        {
                AfxMessageBox("建立回转体失败!请检查回转轴和基准点是否正确!");               
        }
        pBlockTableRecord->appendAcDbEntity(tm,p3dobj);
        p3dobj->close();
        delete pregion1;
}
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-5-18 20:36:18 | 显示全部楼层
[php]
ARX坐标展点原码
AcGePoint3d d3pt1;//***定位点***//
char zf[80];      //***高程***//
char layer_tc[20];//***图层***//
double VW;       //***文高***//  
//****************************************************************//
//************************    坐标展点    ****************************//
//***************************************************************//
void hzzcyfyzbzd()
{
CString m_path;
struct resbuf blc;
FILE *FP;
double bl;//比例
double r;
int newcolor,i,rc;
ads_point pt1;
blc.restype=RTREAL;//控制主单位值中零的显示方式
blc.resval.rreal=0;
acedSetVar("DIMZIN",&blc);
blc.restype=RTSHORT;//控制命令回显
blc.resval.rint=0;
acedSetVar("CMDECHO",&blc);
blc.restype=RTSHORT;//关闭对象捕捉
blc.resval.rint=0;
acedSetVar("OSMODE",&blc);
CFileDialog chfileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"文本文件(*.TXT)|*.TXT|数据文件(*.DAT)|*.DAT|所有文件(*.*)|*.*||");
chfileDlg.m_ofn.lpstrTitle="输入文件";
if(chfileDlg.DoModal()!=IDOK)return;
m_path=chfileDlg.GetPathName();

bl=500.0;
if(acedGetReal("\n绘图比例 1:<500> ",&bl)==RTCAN)return;
for(i=1;i<4;i++){
  if(i==1){
   strcpy(layer_tc,"高程层");
   newcolor=1;
  }else if(i==2){
   strcpy(layer_tc,"点号层");
   newcolor=3;
  }else if(i==3){
   strcpy(layer_tc,"点位层");
   newcolor=7;
  }
  AcDbLayerTable *pLayerTble;
  acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pLayerTble, AcDb::kForWrite);
  if (!pLayerTble->has(layer_tc)){
   AcDbLayerTableRecord *pLayerTblRcd=new AcDbLayerTableRecord;
   pLayerTblRcd->setName(layer_tc);
   AcCmColor color;
   color.setColorIndex(newcolor);
   pLayerTblRcd->setColor(color);   
   pLayerTble->add(pLayerTblRcd);
   pLayerTblRcd->close();
   pLayerTble->close();
  } else {
   pLayerTble->close();
  }
}
blc.restype=RTSTR;//设置点号层为当前图层
blc.resval.rstring=layer_tc;
acedSetVar("CLAYER",&blc);
FP=fopen(m_path,"r");//以只读形式打开文件
do{   //...读原始数据...//   
  fscanf(FP,"%d,%lf,%lf,%lf",&i,&pt1[X],&pt1[Y],&pt1[Z]);
  strcpy(zf,"gc200.dwg");//块名
  VW=bl/1000;
  //这里我直接调用CAD命令插入块,不使用ARX来插入块。主要是觉得麻烦!
  //可以添加使用ARX插入的代码,展点一定更快!
  acedCommand(RTSTR,"INSERT",
   RTSTR,zf,//块文件
   RT3DPOINT,pt1,//插入块的位置
   RTREAL,VW,//缩放比例
   RTSTR,"",
   RTSTR,"",
   0);
  r=double(i);
  acdbRToS(r,2,0,zf);
  VW=bl*0.002;
  d3pt1[0]=pt1[X]+bl*0.001;
  d3pt1[1]=pt1[Y]-VW/2.0;
  strcpy(layer_tc,"点号层");
  Com_Text();//展点号
  r=pt1[Z];
  acdbRToS(r,2,2,zf);
  strcpy(layer_tc,"高程层");
  Com_Text();//展高程
  rc=feof(FP);
}while(rc==0);
fclose(FP);//关闭文件
acedCommand(RTSTR,"ZOOM",RTSTR,"E",0);
}
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2004-5-18 20:44:14 | 显示全部楼层
最初由 frankzht 发布
[B][php]
ARX坐标展点原码
AcGePoint3d d3pt1;//***定位点***//
char zf[80];      //***高程***//
char layer_tc[20];//***图层***//
double VW;       //***文高***//  
//***********************************... [/B]


谢谢!能将Com_Text() 等缺的函数贴全吗? 最好能告诉下大家专业的背景,贴个过程的DWG截图后的图片来论坛。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3532个

财富等级: 富可敌国

发表于 2004-5-19 08:17:36 | 显示全部楼层
最初由 frankzht 发布
[B][php]
ARX坐标展点原码
AcGePoint3d d3pt1;//***定位点***//
char zf[80];      //***高程***//
char layer_tc[20];//***图层***//
double VW;       //***文高***//  
//***********************************... [/B]

还我来完全的吧!
这是我编的一个小工具!
测绘上常用。测绘全站仪野外的数据点展到CAD图上。

  1.   [FONT=courier new]
  2. void Com_Text(){
  3. AcDbText *ptext=new AcDbText(d3pt1,zf,0,VW,0);
  4. ptext->setLayer(layer_tc);
  5. AcDbBlockTable *pblocKTable;
  6. acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pblocKTable,AcDb::kForRead);
  7. AcDbBlockTableRecord *pblocKTableRecord;
  8. pblocKTable->getAt(ACDB_MODEL_SPACE,pblocKTableRecord,AcDb::kForWrite);
  9. AcDbObjectId plineObjId;
  10. pblocKTableRecord->appendAcDbEntity(plineObjId,ptext);
  11. pblocKTable->close();
  12.     pblocKTableRecord->close();
  13. ptext->close();
  14. }
  15.   [/FONT]
复制代码


原程序下载:
“坐标点.txt”为数据文件。
“gc200.dwg”为插入的块文件。[CODE]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-19 09:41:56 | 显示全部楼层
建议楼上的采用自定义三维坐标点,可能好点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3532个

财富等级: 富可敌国

发表于 2004-5-19 11:03:19 | 显示全部楼层
绘制成三维坐标点速度当然快!但打印效果不理想!
随便来个截图.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-21 14:39:53 | 显示全部楼层
我下载了怎么看不了阿
请问用什么播放器看啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-21 15:18:23 | 显示全部楼层
用IE来播放。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-24 16:01:56 | 显示全部楼层
//*********通过闭合的polyline线挤压出三维实体**********
/*pl -- 闭合2dpolyline的ID
normal -- 面的法向向量
hight -- 挤出高度
angle -- 挤出角度*/
//*****************************************************
AcDbObjectId  CCreate3DEnt::creat3dent_extrude(AcDbObjectId pl,
                                                                                           AcGeVector3d normal,
                                                                                              double hight,
                                                                                           double angle)                                                                          
{
        AcDbPolyline  *pline;
        AcDb3dSolid   *p3dobj;
        acdbOpenObject(pline,pl ,AcDb::kForWrite);
        pline->setNormal(normal);
        AcDbVoidPtrArray  lines,regions1;
        lines.append((void*)pline);
        pline->close();
        AcDbRegion::createFromCurves(lines,regions1);
        AcDbRegion *pregion1=AcDbRegion::cast((AcRxObject*)regions1[0]);
        p3dobj=new AcDb3dSolid;
        p3dobj->extrude(pregion1,hight,angle);
        AcDbObjectId tm;
        pBlockTableRecord->appendAcDbEntity(tm,p3dobj);
        p3dobj->close();
        return  tm;
}
//******闭合的polyline线沿一条3dlolyline线移动产生的三维实体***
/*pl   -- 闭合体id
  ptar -- 路径3d线
  normal -- 面的法向向量*/
//******************************************************
AcDbObjectId  CCreate3DEnt::creat3dent_extrudeAlongPath(AcDbObjectId pl,
                                                                                                            AcGeVector3d normal,
                                                                                                            AcGePoint3dArray &ptar)
{
        AcDbSpline       *spline;
        AcDb3dSolid      *p3dobj;
//        AcDb3dPolyline   *pline3d;
        AcDbPolyline     *pline;
        AcDbObjectId     tm;
        AcDbObjectId     tm1;

//        AcDb::Poly3dType type=AcDb::k3dSimplePoly;
//        AcDb::Poly3dType type=AcDb::k3dQuadSplinePoly;
//        tm = CreatePline(pBlockTableRecord,pLayerName,type,ptar,Adesk::kFalse);
        tm = W_CreateSPline(pBlockTableRecord,pLayerName,ptar);
        if (acdbOpenObject(spline,tm,AcDb::kForRead))
        {
//                AfxMessageBox("打开实体失败!");
                return NULL;
        }
        if (acdbOpenObject(pline,pl,AcDb::kForWrite)!=Acad::eOk)
        {
//                AfxMessageBox("打开实体失败!");
                spline->close();
                return NULL;               
        }

        pline->setNormal(normal);
        AcDbVoidPtrArray  lines,regions1;
        lines.append((void*)pline);
        pline->close();
        if (AcDbRegion::createFromCurves(lines,regions1)!=Acad::eOk)
        {
                spline->close();
//                AfxMessageBox("获得面域失败!");
                return NULL;
        }
        AcDbRegion *pregion1=AcDbRegion::cast((AcRxObject*)regions1[0]);
        p3dobj=new AcDb3dSolid;
        p3dobj->extrudeAlongPath(pregion1,spline);
        pBlockTableRecord->appendAcDbEntity(tm1,p3dobj);
        p3dobj->close();
        spline->close();
        DeleteEntity(tm);
        delete pregion1,pline;
        return  tm1;
}

AcDbObjectId  CCreate3DEnt::creat3dent_extrudeAlongPathPts_tdz(AcGePoint2dArray &ptar,
                                                                                                                           CArray <double,double> &tdz,
                                                                                                                           AcGeVector3d normal,
                                                                                                                           AcGePoint3dArray &pts)
{
        AcDbEntity       *pent;
        AcDb3dPolyline   *pline3d;
        AcDbPolyline     *pline = new AcDbPolyline;
        AcDbObjectId     tm;
        AcDbObjectId     tm1;
        AcDb::Poly3dType type=AcDb::k3dSimplePoly;
        tm = CreatePline(pBlockTableRecord,pLayerName,type,pts,Adesk::kFalse);
        if (acdbOpenObject(pent,tm,AcDb::kForRead))
        {
//                AfxMessageBox("打开实体失败!");
                return NULL;
        }
        pline3d = AcDb3dPolyline::cast(pent);
        pent->close();
        int dds = ptar.logicalLength();
        AcGePoint2dArray  pt2d;
        pt2d.setLogicalLength(dds);
        AcGePoint2d   ppp;
        double  tdzz;
        for(int i=0 ; i<dds ; i++)
        {
                ppp = pt2d = ptar;
                tdzz = tdz;
        }
        for( i=0 ; i<dds ; i++)
        {
                pline->addVertexAt(i,pt2d,0);
        }
        pline->setClosed(Adesk::kTrue);
        pline->setNormal(normal);
        AcDbVoidPtrArray  lines,regions1;
        lines.append((void*)pline);
        if (AcDbRegion::createFromCurves(lines,regions1)!=Acad::eOk)
        {
                pline3d->close();
//                AfxMessageBox("获得面域失败!");
                return NULL;
        }
        AcDbRegion *pRegion1=AcDbRegion::cast((AcRxObject*)regions1[0]);
        AcDb3dSolid *p3dobj=new AcDb3dSolid;
        if (p3dobj->extrudeAlongPath(pRegion1,pline3d)==Acad::eOk)
        {
                pBlockTableRecord->appendAcDbEntity(tm1,p3dobj);
                p3dobj->close();
                pline->close();
                pline3d->close();
                delete pRegion1;
                return tm1;
        }
        delete pRegion1;
        return  tm1;
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-26 15:33:10 | 显示全部楼层
请问用arx进行三围建模该如何入手呢
先做什么
再做什么
我看了半天书
书上全是讲什么数据库编程、介绍各个类库
我现在一点头绪都没有
请给位人兄指点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-5 23:28:42 | 显示全部楼层
谢谢分享你的成果,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-8 17:18:18 | 显示全部楼层
三维建模基本上都是采用AcDb3dSolid 类来实现的,不过各种实体实现的方法不同,帮助里面都有
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-8 20:28:11 | 显示全部楼层
下面是3dsolid的帮助文件
我看了之后怎么还是不知道该如何下手呢

AcDb3dSolid类
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-16 20:52:33 | 显示全部楼层
你在哪里弄得这些帮助
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-18 16:50:22 | 显示全部楼层
楼上的真厉害,把铁道出版社那本书的光盘都给贴上了,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 02:37 , Processed in 0.407795 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表