Method for maintaining 3D orientation of route segment and component in route harness flattening
Patent Information
- Application Number
- JP2022179215
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-11-18
- Filing Date
- 2022-11-09
- Publication Date
- 2025-09-11
AI Technical Summary
Existing CAD software fails to accurately represent wire orientation and bends in flattened electrical harness designs, particularly in tight spaces, leading to manufacturing challenges due to inaccurate depiction of wire orientations and connector placements.
A method to generate a flattened 2D representation of a 3D modeled CAD object while maintaining user-selected wiring components in 3D, using translation and rotation transformations to align tangents at branch points and compute a transformation matrix for precise alignment of route segments.
Enables accurate representation of wire bends and connector orientations, facilitating precise manufacturing of electrical harnesses by maintaining 3D orientation of route segments in the flattened harness, enhancing assembly accuracy.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] Field of the Invention The present invention relates to computer-aided drafting applications, and more particularly, to the representation of 3D models for manufacturing.
Background Art
[0002] Background of the Invention Computer-aided drafting (CAD) software such as SOLIDWORKS can employ routing in applications that can be used to design electrical harnesses. These harnesses are initially designed in a 3D environment and then converted to 2D for presentation to the user (e.g., as a paper printout). The 2D drawing of a 3D model of an electrical harness is called a flattened harness or form-board design. The flattened design or form-board design is used to add details such as connector tables, circuit outlines, annotations, etc. For example, a flattened harness design can be used by a manufacturer in the workplace to manufacture an electrical harness.
[0003] All wires, including those related to connectors, are flattened in existing solutions. However, in some cases, the user may instead desire to present details of wiring route segments, such as bends or route directions, to more clearly convey that portion when the harness is manufactured. For example, a flattened drawing may not accurately indicate details such as wire orientation in the context of tight space constraints in the final assembly. Additionally, a flattened drawing may not convey how relatively inflexible bundled wires should be bent in the final assembly. In some cases, a flattened drawing may show wires removed from their connectors. Thus, there is a need in the industry to address the above-mentioned drawbacks.
Summary of the Invention
[0004] Summary of the Invention Several embodiments of the present invention provide a method for maintaining the 3D orientation of root segments and components in root harness flattening. Briefly, the present invention is aimed at generating a flattened 2D representation of a 3D modeled CAD object while maintaining a user-selected wiring component represented in 3D. The user-selected 3D component has a connector and a root segment, along with at least one stored sketch segment. The 3D tangent and 2D tangent are calculated at the branching point of the root segment. Translation and rotation transformations are calculated to align the 2D tangent and 3D tangent at the branching point. The transformation matrix calculated based on the translation and rotation transformations is used to display the user-selected 3D component and the flattened, unconnected root segment aligned with it.
[0005] Other systems, methods, and features of the present invention will become apparent to those skilled in the art upon examination of the following drawings and detailed description. All such additional systems, methods, and features are intended to be incorporated herein, within the scope of the present invention, and protected by the appended claims.
[0006] Brief explanation of the drawing The accompanying drawings are included to provide a further understanding of the invention and are incorporated into this specification and constitute part thereof. The parts in the accompanying drawings are not necessarily scaled, and the emphasis is rather on making the principles of the invention obvious. The accompanying drawings illustrate several embodiments of the invention and, together with this specification, are helpful in illustrating the principles of the invention. [Brief explanation of the drawing]
[0007] [Figure 1A] This is a schematic diagram of an exemplary complete route segment. [Figure 1B] This is a schematic diagram showing the sketch segments located within the root segment of Figure 1A. [Figure 1C] This is a schematic diagram showing exemplary route segments and route segment branching points. [Figure 2A] This is a schematic diagram of an exemplary 3D wiring harness. [Figure 2B] Figure 2A is a schematic diagram of the entire flattened harness in the XY plane of the exemplary 3D wiring harness. [Figure 3A] This is a diagram of a CAD representation 3D model of a wiring harness as a workpiece, representing a first exemplary embodiment of a flattening method for maintaining 3D connectors. [Figure 3B] Figure 3A shows the wiring harness after applying a first exemplary embodiment of a flattening method for maintaining 3D connectors. [Figure 3C] Figure 3A shows the route segment of the wiring harness in 3D. [Figure 3D] This is a detailed view of the multi-pin connector in 3D Figure 3A. [Figure 3E] This is a detailed view of the multi-pin connector in 2D Figure 3A. [Figure 4A] This plot shows the first angle of tangent to the 3D bifurcation point in the XY plane. [Figure 4B] This plot indicates rotation around the Z-axis relative to the XY plane. [Figure 4C] This plot shows the second angle of tangent to the 3D bifurcation point in the YZ plane. [Figure 4D] This plot indicates rotation around the X-axis relative to the YZ plane. [Figure 4E] This plot shows the first angle of tangent to a 2D bifurcation point in the XY plane. [Figure 5] This is a schematic diagram showing an example of a system for performing the functionality of the present invention. [Figure 6A] This is a first flowchart of a first exemplary method embodiment of an application in a computer-aided drafting environment for flattening a 3D model object to a 2D representation while maintaining user-selected parts represented in 3D. [Figure 6B] This is a second flowchart that supplements the method shown in Figure 6A. [Modes for carrying out the invention]
[0008] Detailed explanation The following definitions are intended to help interpret the terms applied to the features of the embodiments disclosed herein and are intended to define only the elements present in this disclosure.
[0009] This disclosure is directed toward the manipulation of computer model objects. In this specification, the reference to manipulating an object typically refers to manipulating an image of a model object on a display screen through a user interface. Examples of such manipulation of a model object include rotation and scaling. It is understood that the manipulation of a displayed model object results in the manipulation of a data object by computer software that represents the aspects and topological features of the model object.
[0010] As used herein, the phrase “computer-aided design” (CAD) generally refers to the use of a computer (or workstation) to assist in the generation, modification, analysis, or optimization of a design. “Design” refers to a plan or specification (e.g., a drawing) of an object or system (including structural details of such object or system) typically stored in computer-based memory. The SolidWorks® computer program, available from Dassault Systemes SolidWorks (applicant in this application), is an example of computer-aided design software. As used herein, the phrase “computer-aided design” should be interpreted broadly to include any computer software, device, or system that incorporates or can incorporate electrical harness design flattening capabilities.
[0011] As used within this disclosure, “XY plane” refers to a reference plane parallel to the two-dimensional representation of the model.
[0012] As used within the present disclosure, a "parts list" refers to a list of the individual parts of a two-dimensional (2D) or three-dimensional (3D) modeled assembly. In a CAD environment, the parts list can be visually presented as a sidebar to a graphic window that presents a 2D or 3D drawing of the modeled assembly. The parts list and the graphic window can interact with each other, for example, selecting a part within the parts list can highlight the corresponding part within the graphic window, and similarly, selecting a part within the graphic window (e.g., via a mouse click) can highlight the corresponding part within the parts list.
[0013] As used within the present disclosure, an "electrical harness" or "harness" (also known as a cable harness, wire harness, wiring harness, cable assembly, wiring assembly or wiring loom) is an assembly of electrical cables or wires that transmit signals or power. Typically, a group of cables is bundled together by a durable material such as rubber, vinyl, electrical tape, conduit, woven fabric of extruded string or a combination thereof. An electrical harness can include one or more termination connectors to provide electrical connections to system components.
[0014] As used within the present disclosure, a "route segment" is part of an electrical harness design within a computer-aided design environment. Typically, a route segment includes one or more sketch segments that extend between two branch points, between two connectors, or between a branch point and a connector. Also typically, a route segment has one or more route characteristics stored within a computer-based memory that define one or more features of the route segment (such as diameter, color, wires passing through it, etc.). FIG. 1A shows an entire route segment, and FIG. 1B shows the sketch segments that exist within that route segment.
[0015] As used within this disclosure, a connected route is a route segment that is directly connected to a selected component. Conversely, an "unconnected route" is a route segment that is not directly connected to a selected component, although an unconnected route may be directly connected to a connected route.
[0016] As used within this disclosure, a "junction point" is a point in an electrical harness design within a computer-aided design environment where two or more route segments merge, as shown by FIG. 1C.
[0017] As used within this disclosure, a "connection point" or "CPoint" is a point in an electrical harness design within a computer-aided design environment where a route segment begins or ends. Typically, any connection point has a direction called a "CPoint direction" (which identifies the direction in which the associated route segment extends) stored within a computer-based memory. Typically, the connection point or CPoint direction also has routing characteristics of the route segment, such as the diameter of the route segment, the route type (e.g., electrical, piping, tubing), stored within a computer-based memory.
[0018] As used within this disclosure, the phrase "flattening" refers to the process by which a three-dimensional (3D) representation of a design (e.g., a CAD drawing of a model object) or a portion thereof is converted into a two-dimensional (2D) representation within a computer-aided design environment. Specifically, flattening an electrical harness can be thought of as placing the entire electrical harness on the XY plane such that their lengths and connections are maintained based on the 3D design and stretching each route segment (wire / cable). Any flattened harness output can further be used to generate a flattened drawing (also called a template drawing), which is a document used to convey essential information such as the wires, wire connections, traces, etc. typically used. The flattened drawing / template drawing conveys information useful in manufacturing the actual electrical harness. FIG. 2A is a schematic diagram of an exemplary 3D wiring harness, and FIG. 2B is a schematic diagram of the entire flattened harness on the XY plane.
[0019] As used in this disclosure, the phrase “branch” refers to one or more electrical cables or wires within an electrical harness that extend from the electrical harness. Typically, branches terminate at an electrical connector or connection point on an electrical component.
[0020] As used in this disclosure, the phrases “processor,” etc., refer to any one or more computer-based processing devices. A computer-based processing device is a physical component that can perform computer functions by executing computer-readable instructions stored in memory.
[0021] As used in this disclosure, the phrases “memory,” etc., refer to any one or more computer-based memory devices. A computer-based memory device is a physical component that can store computer-readable instructions, which, when executed by a processor, result in the processor performing the associated computer function.
[0022] Next, embodiments of the present invention, which are shown in the accompanying drawings, will be referenced in detail. Wherever possible, the same reference numerals are used in the accompanying drawings and the following description to refer to the same or similar parts.
[0023] Exemplary embodiments of the present invention are directed toward flattening the remaining modeled parts into 2D while maintaining the 3D detail of selected modeled parts. For example, some embodiments may be directed toward improvements to root flattening functionality in CAD applications that maintain the 3D orientation of root segments in a flattened root harness. For example, a harness may have a multi-pin connector to which multiple wires are attached, and it may be desirable to present these wires positioned relative to the connector during the manufacturing process.
[0024] In existing applications, the flattening algorithm flattens all wires in any electrical harness without preserving wire bends, such that the 2D representation presents the wires in the form of fan-outs relative to the connectors. Under some embodiments, the user may preserve the 3D orientation of any route segment of selected connectors within the flattened harness.
[0025] The technical aspects of some embodiments are broken down into several distinct parts. Some embodiments provide detection / selection of root segments, which are simply parts of a wire, by using an application GUI. The user can select the desired part by using a "3D orientation maintenance" feature via the GUI.
[0026] The entire harness in the 2D plan can be flattened by generating point cloud routing data (except for route segments connected to selected connectors). The point cloud data for these excluded route segments is stored separately from the flattened harness, along with the data generated using the 3D orientation of the route segments. The excluded route segment point cloud data is aligned with other point cloud data (already flattened in the 2D plan) by applying transformations to all of the excluded point cloud data, for example, to maintain connectivity with existing route segments. The sketch is generated from this point cloud data, and the connectors are placed at the ends of each flattened route segment by applying the correct transformations to maintain connectivity with the flattened route segments. Implementation forms of these embodiments are described in further detail below.
[0027] method Figures 6A and 6B are flowcharts 600a and 600b of an exemplary first embodiment of a computer-based method for an application in a computer-aided design (CAD) environment for flattening a 3D model object to a two-dimensional (2D) representation while maintaining user-selected components represented in three dimensions (3D). It should be noted that any process description, i.e., block, in the flowchart should be understood to represent a module, segment, part of code, or step containing one or more instructions for performing a particular logical function in that process, and that alternative embodiments in which the functions may be performed in a different order (including substantially simultaneously or in reverse order), depending on the functionality involved, are within the scope of the invention, as will be understood by those skilled in the art. User-selected components of a 3D model object (e.g., a wiring harness) are received as shown by block 610.
[0028] The user-selected component includes a connector and a connected first root segment. The connected first root segment includes at least one sketch segment.
[0029] All sketch segments of at least one sketch segment of the connected first root segment are stored in memory as shown by block 615.
[0030] The first branch point (J1) at the endpoint of the connected first route segment is identified as shown by block 620, and the first tangent (T1) at the first branch point is calculated.
[0031] The flattened root position of the flattened unconnected root segment of the model object directly connected to the connected first root segment at the second branch point (J2) corresponding to the first branch point in the 3D object is calculated as shown by block 625. The second tangent (T1) is calculated at the second branch point as shown by block 630. Translation and rotation transformations are calculated by aligning the first branch point to the second branch point and aligning the first tangent with the second tangent, as shown in 635, and the transformation matrix is calculated based on the translation and rotation transformations. The flattened unconnected root segment is displayed aligned with the user-selected 3D part as shown by block 690.
[0032] Figure 6B shows an additional implementation of the method shown in Figure 6A. As shown by block 640, the transformation is applied to the stored sketch segment points in order to calculate the transformed sketch segment points. As shown by block 645, the first normal vector (N1) is calculated at the connector by taking the cross product of the direction of the connection point and the second direction between the two connection points, where the second normal vector (N2) is parallel to the Z axis. As shown by block 650, the N1 / N2 transformation between the first normal vector N1 and the second normal vector N2 is calculated. The N1 / N2 transformation is applied to the transformed sketch segment points by aligning the connector parallel to the XY plane.
[0033] As shown in Figure 3A, the CAD environment GUI provides a "Select parts to maintain 3D orientation" option 332 within the flattened route interface characteristics page 330 for the user to identify route segments associated with selected parts 321, 322 of the wiring harness 310. The user can select one or more parts 321, 322 that they want to represent based on the 3D design in the flattened image. The hybrid 2D-3D flattening application in the CAD environment receives the selected route with the route segments. In the example shown in Figure 3A, checking the "Select parts to maintain 3D orientation" option 332 within the flattened route characteristics page 330 options enables a parts selection box 334 showing selected parts 321, 322 whose connected route segments will not be flattened. Here, one single-pin connector 321 and one multi-pin connector 322 are selected. In some embodiments, the root segments to be connected to these connectors are automatically identified (based on an existing flattening process), so that the connected root segments 321 and 322 maintain their orientation according to the 3D design after flattening, as shown in Figure 3B, while the remainder of the root segment 350 is flattened in a 2D plane.
[0034] Once the user identifies the selected components 321 and 322, the first embodiment determines whether each is a single-pin connector 321 or a multi-pin connector 322. For example, the internal data (descriptor) of each selected component may have a data field indicating whether the selected component is a single-pin connector 321 or a multi-pin connector 322, or the first embodiment may check whether two or more pins are identified in the descriptor of the selected connectors 321 and 322.
[0035] As shown in Figure 3C, each route segment associated between connectors 321, 322 and branch points 371, 372 and / or other connectors 321, 322 is considered a connected route segment 341. These route segments are identified internally and stored in an array, for example, called "routeNotToFlatten".
[0036] For each branch point 371, 372 connecting the 3D root segments, a tangent for the 3D model is calculated. Figure 3D shows a portion of the 3D representation of harness 310 (Figure 3C) having a multi-pin connector 322. To align the root segment 342 with the flattened root segment 360 (Figure 3E), a first branch point 372 is identified in the 3D model, and the associated first (3D) tangent 381 is determined. The first tangent 381 is calculated at branch point 372 of the 3D root segment 342, and the data for the first tangent 381 and the first branch point 372 are stored as tangent 1 data and branch 1 data, respectively. Table 1 shows sample coordinates for 3D branch points and tangents.
[0037] [Table 1]
[0038] Similarly, as shown in Figure 3E, once the flattening of the root segment is complete within the FlattenedPointTo3DPoint map, the corresponding second (2D) bifurcation point 362 ("Branch 2") and second (2D) tangent point 382 ("Tangent 2") of the flattened model are determined. The data for the second bifurcation point 362 is stored as the bifurcation 2 data, and the data for the second tangent point 382 is stored as the tangent 2 data. Table 2 shows sample coordinates for the flattened bifurcation points and tangent points.
[0039] [Table 2]
[0040] With respect to the transformation matrix in the flowchart shown in Figure 6B, under the first embodiment, the transformation calculation can be performed in three steps. The first two steps align the 3D tangent 381 (Figure 3D) to the Y-axis, and the last step aligns the Y-axis to the 2D tangent 382 (Figure 3E). The 2D tangent 382 direction and the 3D tangent 381 direction are normalized. Instead of performing a Y-axis transformation, the calculation can be performed by aligning the X-axis, in which case the transformation is calculated for the Y-axis instead of the X-axis.
[0041] For a rotation transformation (zAxisRotationMatrix) of 3D tangent 381 around the Z axis, the 3D tangent 381 ("tangent 1") point is projected onto the XY plane, and its Z value is set to zero. Normalization is performed again with respect to the new direction (i.e., 3D tangent 381 on the XY plane). If the normalized 3D tangent 381 results in zero X and a zero Y value, then the identity matrix (i.e., zAxisRotationMatrix) is generated around the Z axis at the second (2D) bifurcation point 362, or alternatively, the rotation matrix (i.e., zAxisRotationMatrix) is calculated between the Y axis on the XY plane around the Z axis and tangent 1.
[0042] Calculating the zAxisRotationMatrix involves calculating the angle (theta: θ) between the Y-axis and the Tangent1onXYplane, as shown in Figure 4A. To align the Tangent1onXYplane with the Y-axis, a rotation matrix about the Z-axis is calculated as shown in Figure 4B.
[0043] The angle θ is used here to calculate the rotation matrix, which is named zAxisRotationMatrix.
number
[0044] The tangent point is transformed onto the YZ plane by setting its X coordinate value to zero. Normalization is then performed for these new directions (Tangent1onYZplane). If the Y and Z values of Tangent1onYZplane are zero, the identity matrix (i.e., xAxisRotationMatrix) is generated around the X axis at branch 2; otherwise, it is necessary to calculate the rotation matrix (i.e., xAxisRotationMatrix) between Tangent1onYZplane and the Y axis around the X axis.
[0045] Calculating the xAxisRotationMatrix involves calculating the angle (alpha: α) between the Y-axis and the Tangent1onYZplane, as shown in Figure 4C. The rotation matrix is calculated around the X-axis to align the Tangent1onYZplane to the Y-axis (as shown in Figure 4D). The α angle is used to calculate the rotation matrix xAxisRotationMatrix.
number
[0046] The two tangent points are projected onto the XY plane (i.e., the Z value is set to zero). Here, normalization is performed again in the new direction (Tangent2onXYplane).
[0047] If the X and Y values of Tangent2onXYplane are zero, the identity matrix (i.e., zAxis2DRotationMatrix) is generated at branch 2, centered on the Z axis. Otherwise, the rotation matrix (i.e., zAxis2DRotationMatrix) is calculated between the Tangent2onXYplane centered on the Y and Z axes.
[0048] The angle (theta: θ) is calculated between the Y-axis and the Tangent2onXYplane of zAxis2DrotationMatrix (as shown in Figure 4E). The rotation matrix is calculated around the Z-axis to align the Tangent2onXYplane to the Y-axis, as shown in Figure 4B. The angle theta is used to calculate the rotation matrix zAxisRotation2DMatrix.
number
[0049] The three rotation transformations derived above (zAxisRotationMatrix, xAxisRotationMatrix, zAxis2DrotationMatrix) are multiplied together to provide a rotation "RotationMatrix".
[0050] The matrix for the transformation between branch 1 and branch 2 is derived as follows. The difference between branch 1 and branch 2 is calculated. For example, this difference point can be referred to as T, which has coordinates Tx, Ty, Tz. Using this difference, the translation matrix "TranslationMatrix" is calculated:
number
[0051] The calculations described above provide a RotationMatrix and a TranslationMatrix that can be applied to the routeNotToFlatten array. Each sketch segment point of the route segment connected from routeNotToFlatten is multiplied by the RotationMatrix, and then multiplied by the TranslationMatrix to generate the transformed sketch segment points. The transformed sketch segments are generated from the transformed sketch segment points. The transformed sketch segments can form a 3D segment 342 based on a 3D design that is attached to the flattened segment 360 as shown in Figure 3E.
[0052] The system for performing the functionality described in detail above may be a computer, an example of which is shown in the schematic diagram in Figure 5. System 500 includes a processor 502, a storage device 504, a memory 506 having software 508 stored therein that defines the functionality described above, an input / output (I / O) device 510 (or peripheral), and a local bus or local interface 512 that enables communication within System 500. The local interface 512 may be one or more buses or other wired or wireless connections, such as those known in the art, but not limited to those known. The local interface 512 may have additional elements (omitted for simplicity) such as controllers, buffers (caches), drivers, repeaters, and receivers to enable communication. Furthermore, the local interface 512 may include address, control, and / or data connections among the aforementioned components to enable proper communication.
[0053] The processor 502 is a hardware device for executing software (particularly that stored in memory 506). The processor 502 may be any custom-made or commercially available single-core or multi-core processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the system 500, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, or generally any device for executing software instructions.
[0054] Memory 506 may include any one or a combination of volatile memory elements (e.g., random access memory (RAM such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., ROM, hard drive, tape, CD-ROM, etc.). Furthermore, memory 506 may incorporate electronic, magnetic, optical, and / or other types of storage media. Note that memory 506 may have a distributed architecture in which various components are geographically separated from one another, but can be accessed by processor 502.
[0055] Software 508 defines the functionality performed by the system 500 according to the present invention. The software 508 in memory 506 may include one or more separate programs, each containing an ordered list of executable instructions for performing the logical functions of the system 500, as described below. Memory 506 may include an operating system (O / S) 520. The operating system substantially controls the execution of programs within the system 500 and provides scheduling, input / output control, file and data management, memory management, and communication control and related services.
[0056] I / O device 510 may include, but is not limited to, input devices such as keyboards, mice, scanners, and microphones. Furthermore, I / O device 510 may also include, but is not limited to, output devices such as printers and displays. Finally, I / O device 510 may further include devices that communicate via both input and output (but is not limited to, modulators / demodulators (modems: for accessing another device, system, or network), radio frequency (RF) or other transceivers, telephone interfaces, bridges, routers, or other devices).
[0057] While the system 500 is operating, the processor 502 is configured to execute the software 508 stored in memory 506, transmit data to and from memory 506, and generally control the operation of the system 500 in accordance with the software 508, as described above.
[0058] While the functionality of system 500 is operating, processor 502 is configured to execute software 508 stored in memory 506, to transfer data to and from memory 506, and to generally control the operation of system 500 in accordance with software 508. The operating system 520 is read by processor 502, possibly buffered within processor 502, and then executed. C
[0059] If the system 500 is implemented in software 508, it should be noted that the instructions for implementing the system 500 may be stored on any computer-readable medium for use by or in connection with any computer-related device, system, or method. Such a computer-readable medium may correspond to either or both of the memory 506 or the storage device 504 in some embodiments. In the context of this specification, a computer-readable medium is a means that contains or can store computer programs for use by or in connection with electronic, magnetic, optical, other physical devices, or computer-related devices, systems, or methods. The instructions for implementing the system may be embodied in any computer-readable medium for use by or in connection with a processor or other such instruction-executing system, apparatus, or device. Although the processor 502 is mentioned as an example, such an instruction-executing system, apparatus, or device may, in some embodiments, be any computer-based system, processor-containing system, or other system capable of fetching and executing instructions from an instruction-executing system, apparatus, or device. In the context of this specification, “computer-readable medium” can be any means by which a program can be stored, transmitted, propagated, or transported for use by or related to a processor or other such command execution system, apparatus, or device.
[0060] Such computer-readable media may be, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, devices, or propagation media. More specific examples (a non-exclusive list) of computer-readable media would include: electrical (electronic) connections with one or more wires, portable computer diskettes (magnetic), random access memory (RAM) (electronic), read-only memory (ROM) (electronic), erasable programmable read-only memory (EPROM, EEPROM, or flash memory) (electronic), optical fibers (optical), and portable compact disk read-only memory (CDROM) (optical). Note that computer-readable media may also be paper or another suitable medium on which a program is printed, and the program may be electronically captured, for example, via optical scanning of paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner as needed, and then stored in computer memory.
[0061] In alternative embodiments in which System 500 is implemented in hardware, System 500 may be implemented by any or a combination thereof of the following technologies, each well known in the art: discrete logic circuits having logic gates for performing logic functions on data signals; application-specific integrated circuits (ASICs) having appropriate combinational logic gates; programmable gate arrays (PGAs); field-programmable gate arrays (FPGAs), etc.
[0062] Based on the embodiments described above, designers can easily generate flattened harness drawings to present not only the correct orientation of connectors relative to wiring / wiring bundles, but also the orientation and curvature information of the wiring bundles. Advantageously, the connector orientation is correct with respect to the associated wiring pins. While existing solutions only provide an approximation of multi-pin connector orientation, some embodiments offer accurate connector orientation. Thus, some embodiments provide more robust solutions than existing solutions, enabling manufacturers to produce accurate electrical harnesses that can be assembled more easily in major assembly designs.
[0063] It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope and spirit of the invention. In consideration of the foregoing, the present invention is intended to cover modified and varied forms of the invention, provided that they fall within the scope of the appended claims and their equivalents. [Explanation of Symbols]
[0064] 310 Harness 321 Single-pin connector 322 multi-pin connector 330 Flattened Route Interface Characteristics Page 332 Selectors 334 Parts Selection Box 342 Route Segments 350 route segments 360 Flattened Route Segments 362 Second (2D) branching point 371 Branch Point 372 Branch Point 381 The first tangent 382 The second tangent 500 Systems 502 Processors 504 Storage Device 506 memory 508 Software 510 Input / Output Devices 512 Local Bus 520 Operating Systems 600a Flowchart 610, 615, 620, 625, 630, 635, 640, 650, 680, 690 blocks 600b Flowchart
Claims
1. 1. A computer-based method for application within a computer-aided drafting (CAD) environment for flattening a three-dimensional (3D) model object into a two-dimensional (2D) representation while preserving user-selected wiring components represented in 3D, comprising: receiving the user-selected part of the 3D modeled object including a connector and a connected first route segment, the connected first route segment including at least one sketch segment; storing all sketch segments of the at least one sketch segment; identifying a first branch point at a connected first route segment end; calculating a first tangent at the first branch point; calculating a flattened route position of a flattened unconnected route segment of the model object that is directly connected to the connected first route segment at a second branch point corresponding to the first branch point in the 3D object; calculating a second tangent at the second branch point; calculating a translation and rotation transformation that aligns the first branch point to the second branch point and aligns the first tangent with the second tangent; calculating a transformation matrix based on the translation and rotation transformations; and displaying the flattened unconnected route segment aligned with the user-selected 3D part.
2. The method of claim 1 , further comprising applying a transformation to the stored sketch segment points to calculate transformed sketch segment points.
3. 3. The method of claim 2, further comprising the step of calculating a first normal vector (N1) at the connector by taking the cross product between a direction of a connection point and a second direction between the first connection point and a second connection point, wherein a second normal vector (N2) is in a Z direction perpendicular to a connector surface plane, the connector surface plane being referred to as an XY plane.
4. calculating an N1 / N2 transformation between the first normal vector N1 and the second normal vector N2; 4. The method of claim 3, further comprising applying the N1 / N2 transformation to the transformed sketch segment points by aligning the connector parallel to the XY plane.
5. The method of claim 4 , further comprising generating a flattened sketch segment by using the calculated transformed sketch segment points and the flattened root location.
6. The method of claim 1 , wherein the user-selected component comprises a wiring harness.
7. The method of claim 1 further comprising identifying each route segment of the selected connector.