NavisworksTransport/src/PathPlanning/FlexNet.BusinessFacade.Logistics.TransportPath.xsd

135 lines
5.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:apr="http://www.dassaultsystemes.com/delmia/apriso"
targetNamespace="http://www.dassaultsystemes.com/delmia/apriso"
elementFormDefault="qualified">
<xs:element name="TransportPathOrders" type="apr:TransportPathOrdersType"/>
<xs:complexType name="TransportPathOrdersType">
<xs:sequence>
<xs:element name="PathOrder" type="apr:PathOrderType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PathOrderType">
<xs:sequence>
<xs:element name="OrderId" type="xs:string"/>
<xs:element name="OrderName" type="xs:string"/>
<xs:element name="Description" type="xs:string"/>
<xs:element name="PathType" type="apr:PathTypeEnum"/>
<xs:element name="TotalLength" type="xs:decimal"/>
<xs:element name="Timestamp" type="xs:dateTime"/>
<xs:element name="Generator" type="xs:string"/>
<xs:element name="Version" type="xs:string"/>
<xs:element name="Nodes" type="apr:NodesType"/>
<xs:element name="Edges" type="apr:EdgesType"/>
<xs:element name="ObjectLimits" type="apr:ObjectLimitsType"/>
<xs:element name="CoordinateSystem" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<!-- 路径类型枚举 -->
<xs:simpleType name="PathTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Ground"/>
<xs:enumeration value="Aerial"/>
<xs:enumeration value="Underground"/>
<xs:enumeration value="Mixed"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="NodesType">
<xs:sequence>
<xs:element name="Node" type="apr:NodeType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NodeType">
<xs:sequence>
<xs:element name="NodeId" type="xs:string"/>
<xs:element name="SequenceId" type="xs:int"/>
<xs:element name="NodeName" type="xs:string"/>
<xs:element name="NodeType" type="apr:NodeTypeEnum"/>
<xs:element name="Position" type="apr:PositionType"/>
<xs:element name="Released" type="xs:boolean"/>
<xs:element name="LiftHeight" type="xs:decimal" minOccurs="0"/>
<xs:element name="LoadCapacity" type="xs:decimal" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="NodeTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="StartPoint"/>
<xs:enumeration value="WayPoint"/>
<xs:enumeration value="EndPoint"/>
<xs:enumeration value="ChargePoint"/>
<xs:enumeration value="ParkPoint"/>
<xs:enumeration value="LiftPoint"/>
<xs:enumeration value="DescendPoint"/>
<xs:enumeration value="HoverPoint"/>
<xs:enumeration value="TransferPoint"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PositionType">
<xs:sequence>
<xs:element name="X" type="xs:decimal"/>
<xs:element name="Y" type="xs:decimal"/>
<xs:element name="Z" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EdgesType">
<xs:sequence>
<xs:element name="Edge" type="apr:EdgeType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EdgeType">
<xs:sequence>
<xs:element name="EdgeId" type="xs:string"/>
<xs:element name="EdgeType" type="apr:EdgeTypeEnum"/>
<xs:element name="SequenceId" type="xs:int"/>
<xs:element name="StartNodeId" type="xs:string"/>
<xs:element name="EndNodeId" type="xs:string"/>
<xs:element name="PhysicalLength" type="xs:decimal"/>
<xs:element name="Trajectory" type="apr:TrajectoryType" minOccurs="0"/>
<xs:element name="MaxSpeed" type="xs:decimal" minOccurs="0"/>
<xs:element name="MaxAcceleration" type="xs:decimal" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="EdgeTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="straight"/>
<xs:enumeration value="arc"/>
<xs:enumeration value="bezier"/>
<xs:enumeration value="vertical"/>
<xs:enumeration value="suspension"/>
<xs:enumeration value="hoisting"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TrajectoryType">
<xs:sequence>
<xs:element name="StartTangent" type="apr:PositionType"/>
<xs:element name="EndTangent" type="apr:PositionType"/>
<xs:element name="ArcCenter" type="apr:PositionType" minOccurs="0"/>
<xs:element name="Radius" type="xs:decimal" minOccurs="0"/>
<xs:element name="DeflectionAngle" type="xs:decimal" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ObjectLimitsType">
<xs:sequence>
<xs:element name="MaxLength" type="xs:decimal"/>
<xs:element name="MaxWidth" type="xs:decimal"/>
<xs:element name="MaxHeight" type="xs:decimal"/>
<xs:element name="SafetyMargin" type="xs:decimal"/>
<xs:element name="MaxWeight" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:schema>