深入了解线束同步——面向高级用户
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 布线及元件定义方面却有很大不同。
其差异总结如下:
-
SOLIDWORKS 会将同一路径上的所有电缆\导线捆成一个线束,并建议不要区分连接器引脚。因此,MCAD CoDesigner 不会为每个元件的每个引脚创建单独的连接点(这遵循了 SOLIDWORKS 的建议)。相比之下,Creo 尝试精确建模每根电缆\导线和每个连接器。因此,当 MCAD CoDesigner 拉取设计时,会为每个 Creo 引脚创建一个连接点。
-
SOLIDWORKS 布线基于受约束的 3D 样条曲线(本质上就是用于定义布线路径的标准 SOLIDWORKS 实体),而 Creo 使用专门的导线和电缆实体。
-
SOLIDWORKS 具有独立的电缆库和连接器库,由 MCAD CoDesigner(及用户)创建和维护。这些库定义了可用的导线和连接器(包括其引脚),可在工程之间使用和共享。从技术上讲,导线库采用 XML 文件,连接器库则采用 XML 文件和 .sldprt 文件。
目前,CoDesigner 不支持 Creo 的共享 MCAD 库,而是直接在线束装配体内部以线轴(Spool)的形式定义电缆\导线的类型。在 Creo 中,连接器也是独立的模型,这些模型可以单独使用,无需在任何库中注册。 -
除线束零件外,SOLIDWORKS 还会将线束信息保存在 xxx-fromToList.xml 和 xxx-segmentList.xml 文件中。CoDesigner 不直接使用这些信息,但 SOLIDWORKS 需要这些文件来确保线束设计正常运行。
线束工程统一模型
MCAD CoDesigner 用于在 ECAD 和 MCAD 之间交换线束的统一模型,本质上反映了在 Altium Designer 中创建的线束对象模型。
统一线束模型包含以下对象:
-
导线
-
电缆(包含导线)
-
双绞线(在 ECAD 中被视为电缆的一种特殊情况)
-
连接器(端子、未连接点、接合点或直通接合点)
-
线束段(将电缆和导线在其布线路径的某一段上捆扎在一起)
-
连接点(线束布局中的固定点,用于定义布线路径的特定段)
设计约定与假设
-
从 CoDesigner 的角度来看,电缆被视为包含多根导线的标准零件。电缆内部不捆扎其他电缆;捆扎功能由线束段实现。
-
最小弯曲半径和直径是电缆和导线的重要物理属性。它们决定了导线和电缆可采用的布线路径(以及无法布线的情况)。
-
用于线束设计的连接器元件不用于 PCB 设计。
-
在 ECAD 端,连接器元件的封装中应包含 3D 模型。
-
物理引脚仅在 MCAD 中的连接器模型内指定。
-
在 ECAD 端定义的连接点用于在布线路径上捆扎独立的导线/电缆。可以将其视为导线/电缆组路径上的虚拟“扎线夹”。以这种方式捆扎一组导线/电缆,有助于避免导线/电缆相互干涉所造成的不当布线。
-
“未连接”导线应以一个“未连接”端子(即元件)作为终点。该元件没有物理实体,但定义了未连接导线末端的准确位置。
-
电缆的长度等于其内部最长导线的长度。
-
电缆\导线路径上线束段的总长度始终小于该电缆\导线的长度。这是因为线束段仅描述电缆\导线布线路径中被捆扎的部分。
-
在 SOLIDWORKS 中(遵循 SOLIDWORKS 的建议),CoDesigner 仅创建一个引脚作为连接器的入口点。如有需要,用户可以重新定义连接器,指定多个连接点及其关联引脚。
线束支持的限制与要求
-
CoDesigner 不支持在 MCAD 端更改线束原理图或拓扑结构。
-
如果使用 SOLIDWORKS PDM,应手动管理线束库。修改前应签出线束 XML 文件,修改后再签入。如果计划更新连接器,也应将其签出。
-
Creo 支持 DMS 映射,CoDesigner 3.12 版本新增了对 SOLIDWORKS 的支持。
-
在 CoDesigner 3.12 之前的版本中,连接器模型根据 ECAD 封装名称命名。从 CoDesigner 3.12 开始,连接器模型根据 Workspace 管理员设置的 MCAD CoDesigner 页面中配置的 Naming of component models that are transferred from ECAD to MCAD 选项命名。
-
对于 SOLIDWORKS,必须在 PC 上安装 MS Excel 才能进行线束同步,且 SOLIDWORKS 许可证级别必须支持 SOLIDWORKS 布线功能。
-
对于 Creo,Creo 许可证包中应包含线束许可证。
-
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 端。
MCAD 中首次拉取的工作原理
在 MCAD 中,线束的首次拉取过程可视为一个多阶段流程,包括以下步骤:
-
创建线束装配体(它只是一个装配体,类似于 PCB 装配体)。
装配体结构
将 ECAD 线束项目拉取到 MCAD 时,CoDesigner 会创建装配体结构。
-
在所创建的装配体内放置连接器(并根据需要创建连接器),使其在 X-Y 平面上的位置与 ECAD 布局图对应。也就是说,连接器原点的 X-Y 位置应与布局图一致,且连接器 Z 轴的方向应与装配体 Z 轴相同:
-
连接器是根据 Parasolid 模型创建的 MCAD 零件。这些模型由 ECAD 提供,并以 ECAD 元件所用封装的名称命名(前提是 ECAD 能够提供这些模型)。
-
也可以不使用 ECAD 模型创建连接器零件,而是通过 CoDesigner 元件映射设置,将连接器映射到现有的 MCAD 连接器零件。
-
如果 MCAD 端尚不存在该连接器零件,则会按以下方式根据 ECAD 模型自动创建:
-
对于 Creo,根据 ECAD 提供的 Parasolid 模型创建零件(如果未提供模型,则使用空模型)。在此零件中,每个连接器引脚均建模为一个坐标系,在 X-Z 平面内排列成一行(间距为 0.1 英寸),方向与默认零件坐标系相同。此外,还会创建一个用于连接引入电缆的坐标系,专门命名为“CS0”。该坐标系的 X 坐标位于引脚行的中点,且 X 和 Z 方向的偏移量相等(即引脚行越长,引脚行到 CS0 的距离越大)。
-
对于 SOLIDWORKS,过程类似,但有以下区别:
-
非接续点连接器的引脚不会建模为物理连接点,而是仅创建一个连接点,并将各引脚以虚拟方式关联到该点(同一个点也用于将电缆连接到其连接器)。连接点引脚被定义为垂直于前视基准面,相对于原点在 X 和 Y 方向各偏移 100 mil。引脚方向与 Z 轴相反。
-
创建的连接器(包括其“虚拟”引脚的信息)会注册到 SOLIDWORKS 库(components.xml)中,以便 SOLIDWORKS 后续将该零件识别为元件。请参阅 SOLIDWORKS 连接器属性格式。
-
-
-
“接续点”和“未连接”实体也会建模为连接器,并注册到连接器库(components.xml)中,但不包含实体(仅包含连接点)。这些实体的零件根据 ECAD ID 命名。这些零件为项目专用,不应在不同项目之间共享。
-
在 Creo 和 SOLIDWORKS 中,接续点均建模为连接器。每个引脚单独建模。这些引脚的方向与连接器引脚相同,沿 Y 轴排列成一行,间距为 100 mil。
-
线内接续点(或分接点)的建模方式与接续点类似,但不会为绕过接续点的导线设置连接器。此类导线没有确切的连接器连接点,但之后可以通过接续点位置进行布线。
-
-
-
将所有连接器放置到装配体后,会将原理图(即起点-终点表)导入 MCAD 设计。原理图导入是 MCAD 的内部流程,CoDesigner 仅准备待导入的数据并执行导入。在此步骤中,Creo 和 SOLIDWORKS 的处理方式有显著差异。
-
对于 Creo:
-
对于 SOLIDWORKS:
-
在临时文件夹(Windows 临时文件夹)中创建预先准备好的 Excel From-To 表文件,其中记录连接器的连接关系(Excel 表格格式示例)。
-
准备一个 cable.xml 文件(本质上是一个库),用于记录项目中的电缆 (请参阅 电缆属性格式)。
Note:与元件库不同,电缆库(cables.xml)应为项目专用,不在项目之间共享。此 XML 文件在项目文件夹中创建。 -
执行 Import From-To(Start from From-To)命令,并将 Excel From-To 表、Cable.xml 文件和 Components.xml 文件作为参数,以创建线束零件。该零件将使用默认线束模板,在上面创建的装配体中创建。
-
SOLIDWORKS 将识别导入的元件和电缆,并建立逻辑连接(不包含精确的电缆布线路径)。不过,这并非只是将原理图数据导入 MCAD 模型(如 Creo 中的情况),而是创建线束零件,并生成“线框”,用于后续线束布线的几何建模。具体而言,会在线束零件中创建线束草图和连接器的连接点(草图中的特殊线条)。
Note:SOLIDWORKS 的线束实现方式要求在 PC 上安装 MS Office。这样,SOLIDWORKS 才能导入 CoDesigner 准备的 XLS 文件。
-
-
-
接下来,使用布局图中的坐标,在设计中创建连接点(ECAD 术语)。
-
对于 Creo,连接点创建为基准点。
-
对于 SOLIDWORKS,连接点创建为线束 3D 草图中的线段。线段长度为 40 mil,每条线段的中心位于连接点上。线段本身平行于草图的 Y 轴。
-
-
连接点和线束段信息保存在 MCAD 模型的特定装配体属性中。这些属性由 MCAD CoDesigner 管理,不应由用户编辑。
-
在 Creo 中,它们保存在以下属性中:AltiumMCAD_ConnectionPoints 和 AltiumMCAD_BundleSegments。
-
在 SOLIDWORKS 中,它们保存在以下属性中:ConnectionPointsStorage 和 BundleSegmentsStorage。
-
-
MCAD 端线束拉取流程的最后一个阶段是电缆和导线的布线。值得注意的是,布线并不是仅根据 From-To 表自动完成的,还必须考虑 From-To 表中未提及的连接点和分接点(实质上也要纳入 ECAD 端的线束段)。
-
对于 Creo,CoDesigner 使用线束 API 执行以下操作:
-
将每根电缆/导线从起始连接器布线至终止连接器,并经过上一步创建的连接点(根据从 ECAD 获取的线束段数据,确定要使用的连接点)。
-
导线从一个连接器引脚布线至另一个连接器引脚,而电缆则从连接器的电缆入口(由 CS0 表示)布线至另一个电缆入口。电缆内部的导线不会自动布线,可根据需要手动布线。
-
为了确保此步骤的一致性,CoDesigner 必须在每个连接器上找到正确的连接点(引脚),同时 MCAD 必须能够在直径、最小弯曲半径和布线点间距所规定的约束条件下完成导线/电缆布线。如果无法在给定约束条件下完成导线/电缆布线,则不会进行布线,并会报告错误。
-
-
对于 SOLIDWORKS,布线按以下方式进行:
-
在 SOLIDWORKS 中打开布线草图和布线本身进行编辑。
-
对每根独立的导线/电缆进行布线。
-
要对电缆/导线进行布线,首先需要识别起始/终止连接器及其相关连接点。
-
然后,根据该导线/电缆所在的线束段,确定导线/电缆所经过的草图点序列。
-
接下来调用自动布线。
-
-
-
在 MCAD 中收集线束设计以发送至 ECAD
-
从 MCAD 发送至 ECAD 的关键信息是导线、电缆和线束段的长度。
-
导线、电缆、元件及其连接关系直接从 MCAD 端模型中读取。连接点和线束段并不作为实体存在于 MCAD 模型中,因此需要从保存在属性中的数据获取。
-
导线和电缆的长度通过 MCAD API 从相应的导线和电缆中获取;如果导线/电缆也已完成布线,则其长度应当是正确的。
-
MCAD 不直接提供线束段的长度。为获取此长度,CoDesigner 首先在线束模型中查找并识别该线束段的所有点,然后通过 MCAD API 获取沿布线路径的点间距离。如果某些点未包含在该线束段的导线/电缆布线路径中,此过程可能会失败。
根据 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 中无法完成首次拉取或线束更新,建议检查以下事项:
- 用户是否具有可用的线束许可证?(用户必须为 Pro 或 Enterprise 级别)
- 从 ECAD 推送线束设计时是否出现警告?(如果有,务必解决这些问题)
- MCAD 软件是否具有支持线束设计功能的相应许可证?(如果不确定,用户应尝试手动创建线束)
- 将线束设计拉取到 MCAD 的过程中是否显示任何错误?例如,如果某些导线/电缆无法布线,建议检查其线径/最小弯曲半径参数。
- 如果使用 SOLIDWORKS PDM,请确保在线束更新/首次拉取之前,已签出所有与线束相关的文件(包括库)。
- 如果出现不一致的行为,请查看日志中的错误和警告,以帮助确定可能的根本原因。
- 对于 SOLIDWORKS,可能存在导线/电缆未自动布线的情况,因此建议在“编辑线路”->“编辑导线”面板中进行确认。如果此处的导线/电缆出现警告或长度为零,则可能需要选择导线应经过的路径段,对其进行手动布线。
将更改发送到 ECAD
如果从 ECAD 首次拉取成功,但无法将线束正确发送回 ECAD,则可能是因为在 MCAD 中进行了不受支持的更改。为避免出现此类情况,在 MCAD 中应注意以下事项:
- 不要移除或重命名 MCAD CoDesigner 创建的连接点(也就是说,不要更改线束拓扑)。
- 不要在 MCAD 中更改线束原理图,即不要添加、移除或重命名连接器、导线或电缆。
- 不要更改电缆或导线属性(这些属性不会同步回 ECAD)。
- 对于 CoDesigner 创建的连接器入口点,不要更改其连接器引脚/入口点名称。
- 从 MCAD 推送更改之前,请确保线束中不存在 MCAD 高亮提示的不一致问题。
- 在 Creo 中,如果设计中有电缆,请确保对从电缆末端连接到连接器引脚的导线进行手动布线(可通过选择电缆并执行布线操作来进行手动布线)。
- 对于 SOLIDWORKS,在排查问题时,建议确认布线段与特定导线之间的分配关系。在某些特殊情况下,此分配关系可能不正确,需要手动修复。
使用 ECAD 更改更新 MCAD 设计
-
使用 ECAD 更改更新线束设计时,如果移除了线束节点(连接点/连接器),可能导致 MCAD 端的布线丢失。尽管 MCAD CoDesigner 理应正确应用此类移除更改,仍建议避免进行此类更新。
-
使用 ECAD 更改更新 MCAD 设计之前,建议确保 MCAD 端的线束设计处于一致状态(MCAD 未检测到任何警告/错误)。
-
一般来说,建议在应用新更改之前保存 MCAD 线束装配体,以便在需要时回退到先前状态。
-
如果 CoDesigner 无法将 ECAD 中的线束更改拉取到 Creo(显示错误消息),则可能需要删除模型中的实体电缆及其对应的线轴,然后重新拉取更改。之后,您需要从模型树中对该电缆重新布线。
-
如果电缆或导线的连接关系或布线发生更改,MCAD CoDesigner 可能会对其重新布线,导致原本附着于电缆或导线布线路径的 MCAD 实体失去关联。
)。