深入了解线束同步——面向高级用户

MCAD CoDesigner 如何支持线束设计

MCAD CoDesigner 的线束支持功能将线束的 ECAD 和 MCAD 模型集成在一起,旨在允许在 MCAD 中设计 harness geometry,然后将其作为线束各元素的物理参数(长度)传回 ECAD。

ECAD 和 MCAD 环境之间的共同点(本质上相似的要素)是:在线束模型交换的两端,线束的原理图/接线图基本相同。然而,ECAD 和 MCAD 中的物理模型有所不同。在 ECAD 端,线束没有精确的物理模型;而在 MCAD 端,物理模型由 MCAD CoDesigner 根据 ECAD 端提供的数据(连接器模型、线束拓扑和线束对象参数)创建(生成)。

在 ECAD 端,线束模型的数据来源是线束工程中的布局图。此图为平面图,不反映实际线束的比例,但包含线束的拓扑结构及内部原理图,这些信息用于在 MCAD 端构建初步的线束物理模型。

MCAD CoDesigner 最初支持 Creo 和 Solidworks 中的线束设计。虽然两种实现方式在接线图定义方面可视为相似,但在电缆和导线的 3D 布线及元件定义方面却有很大不同。

其差异总结如下:

  1. SOLIDWORKS 会将同一路径上的所有电缆\导线捆成一个线束,并建议不要区分连接器引脚。因此,MCAD CoDesigner 不会为每个元件的每个引脚创建单独的连接点(这遵循了 SOLIDWORKS 的建议)。相比之下,Creo 尝试精确建模每根电缆\导线和每个连接器。因此,当 MCAD CoDesigner 拉取设计时,会为每个 Creo 引脚创建一个连接点。

  2. SOLIDWORKS 布线基于受约束的 3D 样条曲线(本质上就是用于定义布线路径的标准 SOLIDWORKS 实体),而 Creo 使用专门的导线和电缆实体。

  3. SOLIDWORKS 具有独立的电缆库和连接器库,由 MCAD CoDesigner(及用户)创建和维护。这些库定义了可用的导线和连接器(包括其引脚),可在工程之间使用和共享。从技术上讲,导线库采用 XML 文件,连接器库则采用 XML 文件和 .sldprt 文件。
    目前,CoDesigner 不支持 Creo 的共享 MCAD 库,而是直接在线束装配体内部以线轴(Spool)的形式定义电缆\导线的类型。在 Creo 中,连接器也是独立的模型,这些模型可以单独使用,无需在任何库中注册。

  4. 除线束零件外,SOLIDWORKS 还会将线束信息保存在 xxx-fromToList.xml 和 xxx-segmentList.xml 文件中。CoDesigner 不直接使用这些信息,但 SOLIDWORKS 需要这些文件来确保线束设计正常运行。

Additional Notes:

  • ECAD 布局图中的线束与 MCAD 端的线束并不相同。MCAD 线束适用于 MCAD 设计,但这些线束本身不会发送到 ECAD。ECAD 线束段则被视为连接点之间线束的特定部分。换句话说,线束段及其长度会在 ECAD 和 MCAD 之间同步,但整个线束实体不会同步。

  • 连接点在 MCAD 和 ECAD 端具有不同的含义。在 ECAD 端,连接点是布线拓扑的一部分;而在 MCAD 端(对于 SOLIDWORKS),它是作为连接器入口点的特征。

同步线束设计工程时遇到问题?请查看本页的故障排除部分,其中提供了一些常见问题的解决方案。

线束工程统一模型

MCAD CoDesigner 用于在 ECAD 和 MCAD 之间交换线束的统一模型,本质上反映了在 Altium Designer 中创建的线束对象模型。

统一线束模型包含以下对象:

  • 导线

  • 电缆(包含导线)

  • 双绞线(在 ECAD 中被视为电缆的一种特殊情况)

  • 连接器(端子、未连接点、接合点或直通接合点)

  • 线束段(将电缆和导线在其布线路径的某一段上捆扎在一起)

  • 连接点(线束布局中的固定点,用于定义布线路径的特定段)

MCAD-ECAD 交换不包含任何其他对象。有关支持的对象及其参数的详细信息,请参阅此处。

设计约定与假设

  1. 从 CoDesigner 的角度来看,电缆被视为包含多根导线的标准零件。电缆内部不捆扎其他电缆;捆扎功能由线束段实现。

  2. 最小弯曲半径和直径是电缆和导线的重要物理属性。它们决定了导线和电缆可采用的布线路径(以及无法布线的情况)。

  3. 用于线束设计的连接器元件不用于 PCB 设计。

  4. 在 ECAD 端,连接器元件的封装中应包含 3D 模型。

  5. 物理引脚仅在 MCAD 中的连接器模型内指定。

  6. 在 ECAD 端定义的连接点用于在布线路径上捆扎独立的导线/电缆。可以将其视为导线/电缆组路径上的虚拟“扎线夹”。以这种方式捆扎一组导线/电缆,有助于避免导线/电缆相互干涉所造成的不当布线。

  7. “未连接”导线应以一个“未连接”端子(即元件)作为终点。该元件没有物理实体,但定义了未连接导线末端的准确位置。

  8. 电缆的长度等于其内部最长导线的长度。

  9. 电缆\导线路径上线束段的总长度始终小于该电缆\导线的长度。这是因为线束段仅描述电缆\导线布线路径中被捆扎的部分。

  10. 在 SOLIDWORKS 中(遵循 SOLIDWORKS 的建议),CoDesigner 仅创建一个引脚作为连接器的入口点。如有需要,用户可以重新定义连接器,指定多个连接点及其关联引脚。

线束支持的限制与要求

  1. CoDesigner 不支持在 MCAD 端更改线束原理图或拓扑结构。

  2. 如果使用 SOLIDWORKS PDM,应手动管理线束库。修改前应签出线束 XML 文件,修改后再签入。如果计划更新连接器,也应将其签出。

  3. Creo 支持 DMS 映射,CoDesigner 3.12 版本新增了对 SOLIDWORKS 的支持。

  4. 在 CoDesigner 3.12 之前的版本中,连接器模型根据 ECAD 封装名称命名。从 CoDesigner 3.12 开始,连接器模型根据 Workspace 管理员设置的 MCAD CoDesigner 页面中配置的 Naming of component models that are transferred from ECAD to MCAD 选项命名。

  5. 对于 SOLIDWORKS,必须在 PC 上安装 MS Excel 才能进行线束同步,且 SOLIDWORKS 许可证级别必须支持 SOLIDWORKS 布线功能。

  6. 对于 Creo,Creo 许可证包中应包含线束许可证。

  7. CoDesigner 不使用导线或电缆的 types,而是为每根导线或电缆创建单独的 type,并以其位号命名(即使该电缆/导线的属性与其他导线/电缆完全相同)。

使用 SOLIDWORKS 库

  • SOLIDWORKS 布线库的内容存储在 cable.xml 和 components.xml 文件中,并关联相应的元件模型。

  • MCAD CoDesigner 始终使用其自身的 cable.xml,该文件为项目专用(每个项目各不相同);同时使用其自身的 components.xml,该文件可在项目之间共享(甚至可以与非 CoDesigner 项目共享)。

  • Components.xml 存储在项目文件夹或公共元件文件夹中(如果已在 MCAD CoDesigner 选项中指定该文件夹)。此 XML 引用的元件模型与 Components.xml 文件放在同一文件夹中。

  • CoDesigner 在首次拉取、推送及应用更改操作期间会使用这些库文件,这可能会更改 SOLIDWORKS 中当前的库文件设置。因此,当需要使用非 CoDesigner 专用库时(例如,用户希望使用非 CoDesigner 线束装配体),MCAD 工程师可能需要确保已设置正确的默认库。

未连接导线的建模特点

  • 在 ECAD 接线图中,未连接导线应连接到一个“未连接”实体。

  • 在 ECAD 布局图中,应创建与接线图中特定“未连接”实体相关联的连接点,同时创建将未连接导线敷设到该点的线束段。

  • 在 MCAD 端,将为每个“未连接”连接点创建单独的连接器模型。基本上,未连接导线在 MCAD 端的行为与已连接导线相同,唯一的区别在于,未连接导线的“连接器”仅存在于 MCAD 端。

Notes:

  • 未连接导线(如果存在)也具有长度。

  • 未连接导线的长度取决于其未连接端在空间中的位置。因此,CoDesigner 需要一个特殊的“连接器”模型来连接该端。

  • 对于以任何其他方式(而非上述方式)定义的未连接导线,MCAD CoDesigner 将无法正确处理。

  • 如果在 MCAD 端对电缆建模,其内部未连接导线的长度将与电缆长度相同,即使该电缆内部的导线未连接也是如此(至少在 Creo 中如此)。

MCAD 中首次拉取的工作原理

在 MCAD 中,线束的首次拉取过程可视为一个多阶段流程,包括以下步骤:

  1. 创建线束装配体(它只是一个装配体,类似于 PCB 装配体)。

  2. 在所创建的装配体内放置连接器(并根据需要创建连接器),使其在 X-Y 平面上的位置与 ECAD 布局图对应。也就是说,连接器原点的 X-Y 位置应与布局图一致,且连接器 Z 轴的方向应与装配体 Z 轴相同:

    1. 连接器是根据 Parasolid 模型创建的 MCAD 零件。这些模型由 ECAD 提供,并以 ECAD 元件所用封装的名称命名(前提是 ECAD 能够提供这些模型)。

    2. 也可以不使用 ECAD 模型创建连接器零件,而是通过 CoDesigner 元件映射设置,将连接器映射到现有的 MCAD 连接器零件。

    3. 如果 MCAD 端尚不存在该连接器零件,则会按以下方式根据 ECAD 模型自动创建:

      1. 对于 Creo,根据 ECAD 提供的 Parasolid 模型创建零件(如果未提供模型,则使用空模型)。在此零件中,每个连接器引脚均建模为一个坐标系,在 X-Z 平面内排列成一行(间距为 0.1 英寸),方向与默认零件坐标系相同。此外,还会创建一个用于连接引入电缆的坐标系,专门命名为“CS0”。该坐标系的 X 坐标位于引脚行的中点,且 X 和 Z 方向的偏移量相等(即引脚行越长,引脚行到 CS0 的距离越大)。

      2. 对于 SOLIDWORKS,过程类似,但有以下区别:

        1. 非接续点连接器的引脚不会建模为物理连接点,而是仅创建一个连接点,并将各引脚以虚拟方式关联到该点(同一个点也用于将电缆连接到其连接器)。连接点引脚被定义为垂直于前视基准面,相对于原点在 X 和 Y 方向各偏移 100 mil。引脚方向与 Z 轴相反。

        2. 创建的连接器(包括其“虚拟”引脚的信息)会注册到 SOLIDWORKS 库(components.xml)中,以便 SOLIDWORKS 后续将该零件识别为元件。请参阅 SOLIDWORKS 连接器属性格式。 

    4. “接续点”和“未连接”实体也会建模为连接器,并注册到连接器库(components.xml)中,但不包含实体(仅包含连接点)。这些实体的零件根据 ECAD ID 命名。这些零件为项目专用,不应在不同项目之间共享。

      1. 在 Creo 和 SOLIDWORKS 中,接续点均建模为连接器。每个引脚单独建模。这些引脚的方向与连接器引脚相同,沿 Y 轴排列成一行,间距为 100 mil。

      2. 线内接续点(或分接点)的建模方式与接续点类似,但不会为绕过接续点的导线设置连接器。此类导线没有确切的连接器连接点,但之后可以通过接续点位置进行布线。

Note: 如果在 MCAD CoDesigner for SOLIDWORKS 设置中指定了公共元件文件夹,则会在该文件夹中创建 components.xml 文件。

  1. 将所有连接器放置到装配体后,会将原理图(即起点-终点表)导入 MCAD 设计。原理图导入是 MCAD 的内部流程,CoDesigner 仅准备待导入的数据并执行导入。在此步骤中,Creo 和 SOLIDWORKS 的处理方式有显著差异。

    1. 对于 Creo:

      1. MCAD CoDesigner 在线束装配体中创建线束零件。

      2. MCAD CoDesigner 准备中性格式线表(NWF)文件,并将其导入线束(NWF 规范、NWF)。

      3. 根据导入的逻辑数据创建逻辑导线/电缆和线轴(逻辑实体在模型中没有几何形状)。

    2. 对于 SOLIDWORKS:

      1. 在临时文件夹(Windows 临时文件夹)中创建预先准备好的 Excel From-To 表文件,其中记录连接器的连接关系(Excel 表格格式示例)。

      2. 准备一个 cable.xml 文件(本质上是一个库),用于记录项目中的电缆 (请参阅 电缆属性格式)。
        Note:与元件库不同,电缆库(cables.xml)应为项目专用,不在项目之间共享。此 XML 文件在项目文件夹中创建。

      3. 执行 Import From-To(Start from From-To)命令,并将 Excel From-To 表、Cable.xml 文件和 Components.xml 文件作为参数,以创建线束零件。该零件将使用默认线束模板,在上面创建的装配体中创建。

      4. SOLIDWORKS 将识别导入的元件和电缆,并建立逻辑连接(不包含精确的电缆布线路径)。不过,这并非只是将原理图数据导入 MCAD 模型(如 Creo 中的情况),而是创建线束零件,并生成“线框”,用于后续线束布线的几何建模。具体而言,会在线束零件中创建线束草图和连接器的连接点(草图中的特殊线条)。
        Note:SOLIDWORKS 的线束实现方式要求在 PC 上安装 MS Office。这样,SOLIDWORKS 才能导入 CoDesigner 准备的 XLS 文件。

  2. 接下来,使用布局图中的坐标,在设计中创建连接点(ECAD 术语)。

    1. 对于 Creo,连接点创建为基准点。

    2. 对于 SOLIDWORKS,连接点创建为线束 3D 草图中的线段。线段长度为 40 mil,每条线段的中心位于连接点上。线段本身平行于草图的 Y 轴。

  3. 连接点和线束段信息保存在 MCAD 模型的特定装配体属性中。这些属性由 MCAD CoDesigner 管理,不应由用户编辑。

    1. 在 Creo 中,它们保存在以下属性中:AltiumMCAD_ConnectionPoints 和 AltiumMCAD_BundleSegments。

    2. 在 SOLIDWORKS 中,它们保存在以下属性中:ConnectionPointsStorage 和 BundleSegmentsStorage。

  4. MCAD 端线束拉取流程的最后一个阶段是电缆和导线的布线。值得注意的是,布线并不是仅根据 From-To 表自动完成的,还必须考虑 From-To 表中未提及的连接点和分接点(实质上也要纳入 ECAD 端的线束段)。

    1. 对于 Creo,CoDesigner 使用线束 API 执行以下操作:

      1. 将每根电缆/导线从起始连接器布线至终止连接器,并经过上一步创建的连接点(根据从 ECAD 获取的线束段数据,确定要使用的连接点)。

      2. 导线从一个连接器引脚布线至另一个连接器引脚,而电缆则从连接器的电缆入口(由 CS0 表示)布线至另一个电缆入口。电缆内部的导线不会自动布线,可根据需要手动布线。

      3. 为了确保此步骤的一致性,CoDesigner 必须在每个连接器上找到正确的连接点(引脚),同时 MCAD 必须能够在直径、最小弯曲半径和布线点间距所规定的约束条件下完成导线/电缆布线。如果无法在给定约束条件下完成导线/电缆布线,则不会进行布线,并会报告错误。

    2. 对于 SOLIDWORKS,布线按以下方式进行:

      1. 在 SOLIDWORKS 中打开布线草图和布线本身进行编辑。

      2. 对每根独立的导线/电缆进行布线。

        1. 要对电缆/导线进行布线,首先需要识别起始/终止连接器及其相关连接点。

        2. 然后,根据该导线/电缆所在的线束段,确定导线/电缆所经过的草图点序列。

        3. 接下来调用自动布线。

          Note:即使违反几何形状的最小弯曲半径或直径约束,电缆仍会完成布线,但 SOLIDWORKS 会将该电缆标记为存在不一致区域。

Note:

SOLIDWORKS 与 Creo 在布线流程上的主要区别在于:对于 Creo,CoDesigner 为特定的导线和电缆创建布线路径;而对于 SOLIDWORKS,CoDesigner 创建的电缆导线路径并未由 CoDesigner 明确关联到特定电缆或导线。因此,SOLIDWORKS 随后会根据 CoDesigner 提供的原理图,决定在这些路径中包含哪些导线或电缆。

在大多数情况下,CoDesigner 创建的布线路径及其提供的原理图数据,可让 SOLIDWORKS 为导线/电缆分配合适的路径。不过,在某些情况下,SOLIDWORKS 可能会为电缆或导线选择一条不同于 ECAD 中指定的路径。此时,必须在 MCAD 中手动修正布线。

在 MCAD 中收集线束设计以发送至 ECAD

  • 从 MCAD 发送至 ECAD 的关键信息是导线、电缆和线束段的长度。

  • 导线、电缆、元件及其连接关系直接从 MCAD 端模型中读取。连接点和线束段并不作为实体存在于 MCAD 模型中,因此需要从保存在属性中的数据获取。

  • 导线和电缆的长度通过 MCAD API 从相应的导线和电缆中获取;如果导线/电缆也已完成布线,则其长度应当是正确的。

Note:对于 SOLIDWORKS,MCAD CoDesigner 获取的线束导线/电缆长度为裁切长度。也就是说,该长度包含导线或电缆在连接器内部的长度(额外增加 3 mm),此值在连接器连接点的属性中设置()。

  • MCAD 不直接提供线束段的长度。为获取此长度,CoDesigner 首先在线束模型中查找并识别该线束段的所有点,然后通过 MCAD API 获取沿布线路径的点间距离。如果某些点未包含在该线束段的导线/电缆布线路径中,此过程可能会失败。

Note:线束段长度根据其中的每根电缆/导线分别计算。如果根据不同电缆得出的线束段长度不同,则选择最短的长度。

Note:MCAD CoDesigner 的用户界面中有一个表格,用于汇总计算出的长度。用户可以覆盖此表中的计算值;如果设置了用户自定义值,则将使用该值。

根据 ECAD 更改更新 MCAD 线束设计

  • 在 MCAD 端,CoDesigner 接受设计中的所有更改,但连接器位置的更改除外(CoDesigner 会忽略位置更改,使用初始放置时的位置)。

  • 如果原理图发生更改,CoDesigner 会重新导入 FromToTable 并相应更新布线。但是,如果仅更改了属性,CoDesigner 则仅应用属性更改。

  • 连接点更改是一种特殊情况,此时不会重新导入 From-To 表(因为该表实际上并未发生更改)。但是,连接点发生更改意味着需要重新布线。可以利用此行为主动触发重新布线。例如,如果用户在 MCAD 端移除某个连接点,然后再次拉取线束,则应用更改时,经过该已移除连接点的电缆/导线将被重新布线。这种方法可用于修复特定导线的布线。

  • 另一种需要注意的情况是,当连接关系发生更改时,系统仅根据需要进行局部重新布线,但 MCAD 端的原理图会完整更新(因为 CoDesigner 无法请求局部更新原理图)。

  • 在 ECAD 中,唯一可以应用的传入更改是导线、电缆和线束束段的长度更改。长度更改会作为相应对象的属性应用,不会改变 ECAD 端的任何几何形状。

线束同步问题排查

常见问题原因

由于 MCAD 端的限制,以及 ECAD 和 MCAD 在线束建模方式上的根本差异,并非所有 ECAD 线束设计都能在 MCAD 中正确构建。如果无法在 MCAD 中正确构建线束,则需要在 ECAD 中修改线束设计。MCAD CoDesigner 会在从 ECAD 推送时尝试识别此类情况,但可能无法识别所有情况,因此可能需要仔细排查,以确定不受支持的 ECAD 设计元素。

在 SOLIDWORKS PDM 环境中工作的注意事项

  • 使用 SOLIDWORKS PDM 的一条基本规则是:所有可能被修改的文件都应在修改前签出,并在完成所有修改后签入。

  • 对于线束更改,此规则适用于:线束零件以及线束设计过程中涉及的所有 XML 文件,即 cables.xml、components.xml、xxx-fromToList.xml 和 xxx-segmentList.xml。如果其中任何一个文件未签出,则在应用线束设计更改时,或其他 PDM 用户访问此设计时,可能会出现不可预知的错误。

  • 首次拉取线束时,如果使用了 CoDesigner 公共元件文件夹,请确保在拉取前已签出 components.xml。

SOLIDWORKS:更改连接器(包括添加多个连接点)

  • 在 SOLIDWORKS 中为连接器创建新连接点或重新定义现有连接点后,需要运行 SOLIDWORKS 的 Re-Import From/To 命令(在线束装配体上下文中),然后使用与该线束装配体对应的 From-To .xlsx 文件对其执行 Rebuild 操作。

  • 如果添加了新连接点,还需要绘制通向这些新连接点的新样条曲线。

首次拉取失败时

如果在 MCAD 中无法完成首次拉取或线束更新,建议检查以下事项:

  1. 用户是否具有可用的线束许可证?(用户必须为 Pro 或 Enterprise 级别)
  2. 从 ECAD 推送线束设计时是否出现警告?(如果有,务必解决这些问题)
  3. MCAD 软件是否具有支持线束设计功能的相应许可证?(如果不确定,用户应尝试手动创建线束)
  4. 将线束设计拉取到 MCAD 的过程中是否显示任何错误?例如,如果某些导线/电缆无法布线,建议检查其线径/最小弯曲半径参数。
  5. 如果使用 SOLIDWORKS PDM,请确保在线束更新/首次拉取之前,已签出所有与线束相关的文件(包括库)。
  6. 如果出现不一致的行为,请查看日志中的错误和警告,以帮助确定可能的根本原因。
  7. 对于 SOLIDWORKS,可能存在导线/电缆未自动布线的情况,因此建议在“编辑线路”->“编辑导线”面板中进行确认。如果此处的导线/电缆出现警告或长度为零,则可能需要选择导线应经过的路径段,对其进行手动布线。

将更改发送到 ECAD

如果从 ECAD 首次拉取成功,但无法将线束正确发送回 ECAD,则可能是因为在 MCAD 中进行了不受支持的更改。为避免出现此类情况,在 MCAD 中应注意以下事项:

  1. 不要移除或重命名 MCAD CoDesigner 创建的连接点(也就是说,不要更改线束拓扑)。
  2. 不要在 MCAD 中更改线束原理图,即不要添加、移除或重命名连接器、导线或电缆。
  3. 不要更改电缆或导线属性(这些属性不会同步回 ECAD)。
  4. 对于 CoDesigner 创建的连接器入口点,不要更改其连接器引脚/入口点名称。
  5. 从 MCAD 推送更改之前,请确保线束中不存在 MCAD 高亮提示的不一致问题。
  6. 在 Creo 中,如果设计中有电缆,请确保对从电缆末端连接到连接器引脚的导线进行手动布线(可通过选择电缆并执行布线操作来进行手动布线)。
  7. 对于 SOLIDWORKS,在排查问题时,建议确认布线段与特定导线之间的分配关系。在某些特殊情况下,此分配关系可能不正确,需要手动修复。

使用 ECAD 更改更新 MCAD 设计

  1. 使用 ECAD 更改更新线束设计时,如果移除了线束节点(连接点/连接器),可能导致 MCAD 端的布线丢失。尽管 MCAD CoDesigner 理应正确应用此类移除更改,仍建议避免进行此类更新。

  2. 使用 ECAD 更改更新 MCAD 设计之前,建议确保 MCAD 端的线束设计处于一致状态(MCAD 未检测到任何警告/错误)。

  3. 一般来说,建议在应用新更改之前保存 MCAD 线束装配体,以便在需要时回退到先前状态。

  4. 如果 CoDesigner 无法将 ECAD 中的线束更改拉取到 Creo(显示错误消息),则可能需要删除模型中的实体电缆及其对应的线轴,然后重新拉取更改。之后,您需要从模型树中对该电缆重新布线。

  5. 如果电缆或导线的连接关系或布线发生更改,MCAD CoDesigner 可能会对其重新布线,导致原本附着于电缆或导线布线路径的 MCAD 实体失去关联。

AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
Contents
功能可用性

您可使用的功能取决于您所采用的 Altium 解决方案——Altium Develop、Altium Agile Teams、Altium Agile Enterprise,或 Altium Designer(在有效订阅期内)。

如果您在实际软件中未看到文档中介绍的某项功能, 请联系 Altium Sales 了解更多信息。

Contents