objectarx2023开发记录(二)--用户交互

本文内容:获取绘制的实体,并输出多段线实体的顶点坐标,保留四位数。

1、结合开发记录(一)的内容,新建一个arx项目,并修改启动命令为Dt,在对应函数中,写入如下代码:

        // Put your command code here

		ads_name ss;
		int rt = acedSSGet(NULL, NULL, NULL, NULL, ss);
		if (rt == RTNORM)
		{
			acutPrintf(TEXT("选择成功\n"));
		}

		int length;
		acedSSLength(ss, &length);

		for (int i = 0; i < length; i++)
		{
			ads_name entres;

			acedSSName(ss, i, entres);//获取实体名称

			AcDbObjectId entId;
			acdbGetObjectId(entId, entres);//获取实体对象ID

			AcDbEntity* pEnt;
			acdbOpenObject(pEnt, entId, AcDb::kForRead);//打开实体对象

			AcDbPolyline* pPolyline = AcDbPolyline::cast(pEnt);//获取多段线
			//AcGePoint3d pt;

			int num = pPolyline->numVerts();//获取多段线顶点数量
			for (int j = 0; j < num; j++)
			{
				AcGePoint2d pt;//二维坐标值
				if(pPolyline->getPointAt(j,pt)==eOk)//获取序号为j的顶点坐标值
				{
					acutPrintf(TEXT("XYZ:%.4f,%.4f\n"), pt.x, pt.y);
				}
			}
			pEnt->close();
			pPolyline->close();
			acedSSFree(entres);
		}

		acedSSFree(ss);
		//end

2、代码关键函数解析

(1)acedSSGet()函数,用于获取选择集实体。通过设定选择方式,将选择集实体存储在ads_name对象中。

(2)acedSSLength()函数,用于获取选择集所含的实体数。

(3)acedSSName()函数。用于获取实体的名称。

(4)acdbGetObjectId()函数。通过实体名称,结合该函数,可获取实体对象ID。

(5)acdbOpenObject()函数,用于打开实体,获取多段线指针。

(6)AcDbPolyline* pPolyline = AcDbPolyline::cast(pEnt);//获取多段线指针

(7)numVerts()函数,获取多段线顶点数量信息。

(8)通过顶点数,遍历每个顶点,获取其坐标。

(9)getPointAt()函数,获取多段线单个顶点的坐标值。

(10)最后,使用完实体指针和ads_name对象后,记得关闭和释放资源。

代码如下:(若不释放资源,所选实体将无法进行删除操作)

            pEnt->close();
            pPolyline->close();
            acedSSFree(entres);

3、结果展示:

欢迎使用“可调增益放大器 Multisim”设计资源包!本资源专为电子爱好者、学生以及工程师设计,旨在展示如何在著名的电路仿真软件Multisim环境下,实现一个具有创新性的数字控制增益放大器项目。 项目概述 在这个项目中,我们通过巧妙结合模拟电路与数字逻辑,设计出一款独特且实用的放大器。该放大器的特点在于其增益可以被精确调控,并非固定不变。用户可以通过控制键,轻松地改变放大器的增益状态,使其在1到8倍之间平滑切换。每一步增益的变化都直观地通过LED数码管显示出来,为观察和调试提供了极大的便利。 技术特点 数字控制: 使用数字输入来调整模拟放大器的增益,展示了数字信号对模拟电路控制的应用。 动态增益调整: 放大器支持8级增益调节(1x至8x),满足不同应用场景的需求。 可视化的增益指示: 利用LED数码管实时显示当前的放大倍数,增强项目的交互性和实用性。 Multisim仿真环境: 所有设计均在Multisim中完成,确保了设计的仿真准确性和学习的便捷性。 使用指南 软件准备: 确保您的计算机上已安装最新版本的Multisim软件。 打开项目: 导入提供的Multisim项目文件,开始查看或修改设计。 仿真体验: 在仿真模式下测试放大器的功能,观察增益变化及LED显示是否符合预期。 实验与调整: 根据需要调整电路参数以优化性能。 实物搭建 (选做): 参考设计图,在真实硬件上复现实验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值