找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1793|回复: 1

[每日一码] 通过API修改显示分辨率等设置

[复制链接]

已领礼包: 13个

财富等级: 恭喜发财

发表于 2016-9-3 15:22:15 | 显示全部楼层 |阅读模式

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

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

×

我们可以通过Options命令对话框里面的设置 Display Resolution 手工设置4个选项,如何通过API修改他们呢?

0.jpg

在通过API修改他们前,我们先看看这些变量的用途:

VIEWRES: Arc and circle smoothness, this sets the resolution for objects in the viewport.

SPLINESEGS: Segments in a polyline curve, this sets number of line segments to be generated for each spline-fit polyline generated by the spline objects of the PEDIT command.

FACETRES: Rendered object smoothness, adjusts the smoothness of shaded and rendered objects  and objects with hidden lines removed.

ISOLINES: Contour lines per surface, specifies the number of contour lines displayed on the curved surface of 3D solids.

下面是代码:
  1. void changeDispRes()
  2.   {
  3.   AcDbDatabase *pDb = acdbHostApplicationServices()->workingDatabase();
  4.   acutPrintf(_T("\n current SPLINESEGS value %d"),pDb->splinesegs());
  5.   acutPrintf(_T("\n current FACETRES value %d"),pDb->facetres());
  6.   acutPrintf(_T("\n current ISOLINES value %d"),pDb->isolines());
  7.   pDb->setSplinesegs(8);pDb->setFacetres(0.75);pDb->setIsolines(6);
  8.   AcDbObjectId curVportId = AcDbObjectId::kNull;
  9.   curVportId = acedActiveViewportId();
  10.   AcDbObjectPointer<AcDbViewportTableRecord> curVTR (curVportId,AcDb::kForWrite);
  11.     if(curVTR.openStatus() == Acad::eOk)
  12.       {
  13.       acutPrintf(_T("\n current VIEWRES value %d"),curVTR->circleSides());

  14.       curVTR->setCircleSides(100);
  15.       }
  16.   }


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

已领礼包: 264个

财富等级: 日进斗金

发表于 2016-9-3 15:28:11 | 显示全部楼层
控制对象的显示质量。如果设置较高的值提高显示质量,则性能将受到显著影响。

圆弧和圆的平滑度
控制圆、圆弧和椭圆的平滑度。值越高,生成的对象越平滑,重生成、平移和缩放对象所需的时间也就越多。可以在绘图时将该选项设置为较低的值(如 100),而在渲染时增加该选项的值,从而提高性能。有效取值范围为 1 到 20,000。默认设置为 1000。该设置保存在图形中。要更改新图形的默认值,请在用于创建新图形的样板文件中指定此设置。(VIEWRES 命令)

每条多段线曲线的线段数
设置每条多段线曲线生成的线段数目。数值越高,对性能的影响越大。可以将此选项设置为较小的值(如 4)来优化绘图性能。取值范围为 -32767 到 32767。默认设置为 8。该设置保存在图形中。(SPLINESEGS 系统变量

渲染对象的平滑度
控制着色和渲染曲面实体的平滑度。将“渲染对象的平滑度”的输入值乘以“圆弧和圆的平滑度”的输入值来确定如何显示实体对象。要提高性能,请在绘图时将“渲染对象的平滑度”设置为 1 或更低。数目越多,显示性能越差,渲染时间也越长。有效值的范围从 0.01 到 10。默认设置为 0.5。该设置保存在图形中。(FACETRES 系统变量

曲面轮廓索线
设置对象上每个曲面的轮廓线数目。数目越多,显示性能越差,渲染时间也越长。有效取值范围为 0 到 2047。默认设置为 4。该设置保存在图形中。(ISOLINES 系统变量

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 04:00 , Processed in 0.189675 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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