首页 / 浏览问题 / 组件GIS / 问题详情
UGDataset强制转化为UGDatasetVector问题
31EXP 2022年11月04日

分别用代码创建了一个uggraphobject和uggeoregion对象,并将两者加到UGLayer图层中

发现将ugdataset转换为ugdatasetvector发生,丢失UGGraphObject创建的对象。

请问这个一般怎么解决

1个回答

你试用idesktop将数据打开,然后去选中你的这个cad数据,鼠标右键【浏览属性表】先确认看看数据集里面有多少条记录?

如果确实有两条,那你直接通过查询去获取一下记录集条数,注意,保证你程序中是加载了军标符号库的。

UGDatasetVector* datasetvector = (UGDatasetVector*)m_pWorkspace->GetDataSource(_U())->GetDataset(_U()); 

datasetvector->Open();  

UGQueryDef Querydef;  

UGRecordset* re = datasetvector->Query(Querydef);  

UGint count = re->GetRecordCount(); 

4,620EXP 2022年11月04日
您好,我查了一下有两个数据,但是奇怪的是,点击查看图层,只能看的面标绘,看不到UGGraphobject标绘
还有就是我把这段代码加到鼠标点击事件中,就会出现我没有新增标绘,但是只要点击选中标绘,datasetvector里的数据就会增加,这个正常吗,请问
1、那可能就是我所说的,你的标绘库没有添加,你的标绘库符号是军用标绘库吗?桌面iDesktop默认加载的军标库只有警用标绘库,对应的路径下:桌面安装路径\Templates\Plot下面,如果你标绘对象用的是自己军标库里面的符号,可以将对应的plot标绘库复制到这个路径下,重新运行桌面再打开数据去查看。

2、不正常,检查你的代码逻辑,一定哪里执行到了添加标绘对象的代码
...