[返回博客](/cn/blog) # Teigha PRC：使用 OdPrcMarkupLinkedItem

Alex Rumjantsev 一月 11, 2018 [\#prc](/cn/blog/tag/prc) [\#Example](/cn/blog/tag/example) [\#getting started](/cn/blog/tag/getting-started)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

#### OdPrcMarkupLinkedItem 有何用途？

OdPrcMarkupLinkedItem 类似于 OdPrcReference。作为 OdPrcReference，它可用于覆盖实体的位置、外观和线型。但与 OdPrcReference 不同，OdPrcMarkupLinkedItem 仅在切换视图时应用这些更改。因此，每个 OdPrcView 都有自己的一组 OdPrcMarkupLinkedItem 项，可以更改当前视图中实体的渲染。

#### OdPrcMarkupLinkedItem 的结构

OdPrcMarkupLinkedItem 存储在 OdPrcProductOcurrence 中：

```
OdPrcMarkups & OdPrcProductOccurrence::markups();
const OdPrcMarkups & OdPrcProductOccurrence::markups() const;
OdPrcObjectIdArray & OdPrcMarkups::linkedItem();
const OdPrcObjectIdArray & OdPrcMarkups::linkedItem() const;

```

OdPrcView 存储指向这些 OdPrcMarkupLinkedItem 的链接：

```
OdPrcObjectIdArray & OdPrcView::linkedItems();
const OdPrcObjectIdArray & OdPrcView::linkedItems() const;

```

OdPrcMarkupLinkedItem 有两个链接。

第一个链接指向图形参数被覆盖的实体：

```
OdPrcReferenceData & OdPrcMarkupLinkedItem::referenceData();
const OdPrcReferenceData & OdPrcMarkupLinkedItem::referenceData() const;

```

第二个链接指向包含此实体的树子部分：(\*)&lt;&gt;/p

```
OdPrcReferenceData & OdPrcMarkupLinkedItem::referencedProductOccurrence();
const OdPrcReferenceData & OdPrcMarkupLinkedItem::referencedProductOccurrence() const;

```

实体的新的坐标系取自：

```
OdPrcObjectId & OdPrcMarkupLinkedItem::localCoordinateSystem();
const OdPrcObjectId & OdPrcMarkupLinkedItem::localCoordinateSystem() const;

```

实体的新的图形参数取自：(\*\*)

```
OdPrcGraphics & OdPrcMarkupLinkedItem::graphics();
const OdPrcGraphics & OdPrcMarkupLinkedItem::graphics() const;

```

(\*) 目前，第二个链接不影响实体渲染；其实现更类似于 Tech Soft 3D HOOPS® 而非 Adobe®。

(\*\*) 对于 OdPrcMarkupLinkedItem，Adobe 忽略 OdPrcGraphics 的所有行为位，除了 PRC\_GRAPHICS\_Show，因此它不考虑子/父继承或 PRC\_GRAPHICS\_Removed。这就是我们将其实现为类似于 HOOPS 的原因：OdPrcMarkupLinkedItem 的工作方式类似于 OdPrcGraphics。

#### OdPrcMarkupLinkedItem 影响示例

这是文件的默认视图：

![image1](/files/inline-images/pic_1.png)下一张图片显示了我们正在切换到的 OdPrcView 的结构。您可以在 OdPrcView (283) 中看到 OdPrcMakrupLinkedItem 项的列表。您还可以看到 OdPrcMakrupLinkedItem (24A) 覆盖了实体 OdPrcProductOccurrence (50)，因此对于此视图实体，我们将有：

- OdPrcCategory1LineStyle (298) 作为其线型。
- OdPrcCoordinateSystem (24B) 作为其位置。
- (11 == PRC\_GRAPHICS\_Show | PRC\_GRAPHICS\_SonHeritShow | PRC\_GRAPHICS\_SonHeritColor) 作为其行为位字段。

![image2](/files/inline-images/pic_2_1.png)这是同一个文件，但切换到另一个视图：

![image3](/files/inline-images/pic_3.png)

## 今天就开始行动

**免费试用 ODA 软件 60 天。  
无风险，无需信用卡。**

[免费试用](https://www.opendesign.com/cn/free-trial)
