개정판 e72e864f
issue #481: 검증 - SPPID Converter에서 사용한 Rule 적용
참조 : #1176
Change-Id: I394e4881f82dd7063e6814956d526f2bb011ea8d
DTI_PID/DTI_PID/MainWindow.py | ||
---|---|---|
241 | 241 |
self.actionOCR_Training.setVisible(False) |
242 | 242 |
self.pushButtonBatchRecognition.setVisible(False) |
243 | 243 |
|
244 |
# removedItems |
|
245 |
''' |
|
246 |
self.removedItems = {} |
|
247 |
self.removedItems['LINE'] = [] |
|
248 |
self.removedItems['EQUIP'] = [] |
|
249 |
self.removedItems['INST'] = [] |
|
250 |
self.removedItems['NOTE'] = [] |
|
251 |
''' |
|
252 |
|
|
253 | 244 |
self.delimiter = '"' |
254 | 245 |
|
255 | 246 |
self.resizeDocks({self.dockWidget}, {self.dockWidgetObjectExplorer.sizeHint().width()}, Qt.Horizontal) |
... | ... | |
284 | 275 |
# up to here |
285 | 276 |
|
286 | 277 |
# inconsistency table |
287 |
self.tableWidgetInconsistency.setColumnCount(2)
|
|
288 |
self.tableWidgetInconsistency.setHorizontalHeaderLabels(['Owner', 'Message']) |
|
278 |
self.tableWidgetInconsistency.setColumnCount(3)
|
|
279 |
self.tableWidgetInconsistency.setHorizontalHeaderLabels(['Owner', 'Type', 'Message'])
|
|
289 | 280 |
self.tableWidgetInconsistency.setEditTriggers(QAbstractItemView.NoEditTriggers) |
290 | 281 |
self.tableWidgetInconsistency.itemClicked.connect(self.inconsistencyItemClickEvent) |
291 | 282 |
self.tableWidgetInconsistency.keyPressEvent = self.inconsistencyTableKeyPressEvent |
... | ... | |
313 | 304 |
if row is not self.tableWidgetInconsistency.rowCount() - 1: |
314 | 305 |
errorItem = self.tableWidgetInconsistency.item(row + 1, 1).tag |
315 | 306 |
HighlightCommand(self.graphicsView).execute(errorItem) |
307 |
elif event.key() == Qt.Key_Delete: |
|
308 |
item = self.tableWidgetInconsistency.item(row, 0).tag |
|
309 |
if item and item.scene(): item.scene().removeItem(item) |
|
310 |
self.tableWidgetInconsistency.removeRow(row) |
|
316 | 311 |
except Exception as ex: |
317 |
pass |
|
312 |
message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno) |
|
313 |
self.addMessage.emit(MessageType.Error, message) |
|
318 | 314 |
#finally: |
319 | 315 |
# return QTableView.keyPressEvent(self.tableWidgetInconsistency, event) |
320 | 316 |
|
... | ... | |
324 | 320 |
@author euisung |
325 | 321 |
@date 2019.04.01 |
326 | 322 |
""" |
323 |
from ValidateCommand import ValidateCommand |
|
324 |
|
|
327 | 325 |
if not self.graphicsView.hasImage(): |
328 | 326 |
self.showImageSelectionMessageBox() |
329 | 327 |
return |
330 | 328 |
|
331 |
errors = [] |
|
332 |
|
|
333 | 329 |
try: |
330 |
# remove error items |
|
334 | 331 |
for item in self.graphicsView.scene.items(): |
335 | 332 |
if type(item) is QEngineeringErrorItem: |
336 | 333 |
item.transfer.onRemoved.emit(item) |
337 |
elif type(item) is QEngineeringLineItem or issubclass(type(item), SymbolSvgItem): |
|
338 |
for error in item.validate(): |
|
339 |
errors.append(error) |
|
334 |
# up to here |
|
340 | 335 |
|
336 |
cmd = ValidateCommand(self.graphicsView) |
|
337 |
errors = cmd.execute(self.graphicsView.scene.items()) |
|
341 | 338 |
for error in errors: |
342 | 339 |
error.transfer.onRemoved.connect(self.itemRemoved) |
343 | 340 |
self.graphicsView.scene.addItem(error) |
... | ... | |
345 | 342 |
self.tableWidgetInconsistency.clearContents() |
346 | 343 |
self.tableWidgetInconsistency.setRowCount(len(errors)) |
347 | 344 |
for index in range(len(errors)): |
348 |
items = self.makeInconsistencyTableRow(errors[index]) |
|
349 |
self.tableWidgetInconsistency.setItem(index, 0, items[0]) |
|
350 |
self.tableWidgetInconsistency.setItem(index, 1, items[1]) |
|
345 |
self.makeInconsistencyTableRow(index, errors[index]) |
|
351 | 346 |
except Exception as ex: |
352 | 347 |
message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno) |
353 | 348 |
self.addMessage.emit(MessageType.Error, message) |
354 | 349 |
|
355 |
def makeInconsistencyTableRow(self, errorItem): |
|
350 |
def makeInconsistencyTableRow(self, row, errorItem):
|
|
356 | 351 |
''' |
357 | 352 |
@brief make row data for inconsistency widget |
358 | 353 |
@author euisung |
359 | 354 |
@date 2019.04.16 |
360 | 355 |
''' |
361 |
items = [] |
|
362 |
if type(errorItem.parent) is QEngineeringLineItem: |
|
363 |
item = QTableWidgetItem('line') |
|
364 |
#item.setFlags(Qt.ItemIsEnabled) |
|
365 |
elif issubclass(type(errorItem.parent), SymbolSvgItem): |
|
366 |
item = QTableWidgetItem('symbol') |
|
367 |
#item.setFlags(Qt.ItemIsEnabled) |
|
368 |
#elif |
|
356 |
|
|
357 |
item = QTableWidgetItem(str(errorItem.parent)) |
|
369 | 358 |
item.tag = errorItem |
370 |
items.append(item)
|
|
359 |
self.tableWidgetInconsistency.setItem(row, 0, item)
|
|
371 | 360 |
|
372 |
item = QTableWidgetItem(errorItem.msg) |
|
373 |
#item.setFlags(Qt.ItemIsEnabled) |
|
361 |
item = QTableWidgetItem(str(type(errorItem.parent))) |
|
374 | 362 |
item.tag = errorItem |
375 |
items.append(item)
|
|
363 |
self.tableWidgetInconsistency.setItem(row, 1, item)
|
|
376 | 364 |
|
377 |
return items |
|
365 |
item = QTableWidgetItem(errorItem.msg) |
|
366 |
item.tag = errorItem |
|
367 |
self.tableWidgetInconsistency.setItem(row, 2, item) |
|
378 | 368 |
|
379 | 369 |
def inconsistencyItemClickEvent(self, item): |
380 | 370 |
""" |
... | ... | |
1705 | 1695 |
break |
1706 | 1696 |
#if done: break |
1707 | 1697 |
|
1708 |
#if type(item) is QEngineeringFlowMarkItem and item.parentItem(): |
|
1709 |
# if item in item.parentItem()._flowMark: |
|
1710 |
# item.parentItem()._flowMark.pop(item.parentItem()._flowMark.index(item)) |
|
1698 |
# remove error item from inconsistency list |
|
1699 |
if type(item) is QEngineeringErrorItem: |
|
1700 |
for row in range(self.tableWidgetInconsistency.rowCount()): |
|
1701 |
if item is self.tableWidgetInconsistency.item(row, 0).tag: |
|
1702 |
self.tableWidgetInconsistency.removeRow(row) |
|
1703 |
break |
|
1711 | 1704 |
|
1712 | 1705 |
if item.scene() is not None: item.scene().removeItem(item) |
1713 | 1706 |
except Exception as ex: |
DTI_PID/DTI_PID/MainWindow_UI.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 |
|
3 |
# Form implementation generated from reading ui file '.\ui\MainWindow.ui'
|
|
3 |
# Form implementation generated from reading ui file '.\UI\MainWindow.ui'
|
|
4 | 4 |
# |
5 | 5 |
# Created by: PyQt5 UI code generator 5.13.0 |
6 | 6 |
# |
... | ... | |
14 | 14 |
def setupUi(self, MainWindow): |
15 | 15 |
MainWindow.setObjectName("MainWindow") |
16 | 16 |
MainWindow.resize(1280, 888) |
17 |
MainWindow.setBaseSize(QtCore.QSize(0, 300)) |
|
17 | 18 |
font = QtGui.QFont() |
18 | 19 |
font.setFamily("맑은 고딕") |
19 | 20 |
font.setBold(True) |
... | ... | |
154 | 155 |
self.EditToolbar.setObjectName("EditToolbar") |
155 | 156 |
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.EditToolbar) |
156 | 157 |
self.dockWidgetOutputWnd = QtWidgets.QDockWidget(MainWindow) |
158 |
self.dockWidgetOutputWnd.setMinimumSize(QtCore.QSize(145, 202)) |
|
159 |
self.dockWidgetOutputWnd.setBaseSize(QtCore.QSize(0, 202)) |
|
157 | 160 |
self.dockWidgetOutputWnd.setFeatures(QtWidgets.QDockWidget.DockWidgetFloatable|QtWidgets.QDockWidget.DockWidgetMovable) |
158 | 161 |
self.dockWidgetOutputWnd.setAllowedAreas(QtCore.Qt.AllDockWidgetAreas) |
159 | 162 |
self.dockWidgetOutputWnd.setObjectName("dockWidgetOutputWnd") |
... | ... | |
197 | 200 |
self.tableWidgetInconsistency.setObjectName("tableWidgetInconsistency") |
198 | 201 |
self.tableWidgetInconsistency.setColumnCount(0) |
199 | 202 |
self.tableWidgetInconsistency.setRowCount(0) |
203 |
self.tableWidgetInconsistency.horizontalHeader().setSortIndicatorShown(True) |
|
204 |
self.tableWidgetInconsistency.horizontalHeader().setStretchLastSection(True) |
|
200 | 205 |
self.verticalLayout_2.addWidget(self.tableWidgetInconsistency) |
201 | 206 |
self.gridLayout_8.addLayout(self.verticalLayout_2, 0, 0, 1, 1) |
202 | 207 |
self.tabWidget_2.addTab(self.tabInconsistency, "") |
... | ... | |
561 | 566 |
self.dockWidgetOutputWnd.setWindowTitle(_translate("MainWindow", "Output Window")) |
562 | 567 |
self.pushButtonClearLog.setToolTip(_translate("MainWindow", "Clear")) |
563 | 568 |
self.pushButtonClearLog.setText(_translate("MainWindow", "X")) |
564 |
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tabTerminal), _translate("MainWindow", "Terminal"))
|
|
569 |
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tabTerminal), _translate("MainWindow", "Output"))
|
|
565 | 570 |
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tabInconsistency), _translate("MainWindow", "Inconsistency")) |
566 | 571 |
self.actionOpen.setText(_translate("MainWindow", "Open")) |
567 | 572 |
self.actionOpen.setToolTip(_translate("MainWindow", "Open(Ctrl + O)")) |
DTI_PID/DTI_PID/Scripts/Associations.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS Associations ( |
|
2 |
UID TEXT PRIMARY KEY |
|
3 |
NOT NULL, |
|
4 |
Type TEXT NOT NULL, |
|
5 |
Components_UID TEXT REFERENCES Components (UID) |
|
6 |
NOT NULL, |
|
7 |
Association TEXT REFERENCES Components (UID) |
|
8 |
); |
DTI_PID/DTI_PID/Scripts/Attributes.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS Attributes ( |
|
2 |
UID TEXT PRIMARY KEY, |
|
3 |
Components_UID TEXT NOT NULL REFERENCES Components (UID), |
|
4 |
SymbolAttribute_UID TEXT NOT NULL REFERENCES SymbolAttribute (UID), |
|
5 |
Value TEXT, |
|
6 |
FOREIGN KEY (SymbolAttribute_UID) REFERENCES SymbolAttribute (UID), |
|
7 |
UNIQUE (Components_UID, SymbolAttribute_UID) |
|
8 |
); |
|
9 |
|
|
10 |
|
DTI_PID/DTI_PID/Scripts/Colors.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS Colors ( |
|
2 |
UID INTEGER NOT NULL, |
|
3 |
RED INTEGER, |
|
4 |
GREEN INTEGER, |
|
5 |
BLUE INTEGER, |
|
6 |
PROPERTY TEXT, |
|
7 |
VALUE TEXT, |
|
8 |
CONSTRAINT Colors_PK PRIMARY KEY (UID) |
|
9 |
); |
DTI_PID/DTI_PID/Scripts/Components.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS Components ( |
|
2 |
UID TEXT PRIMARY KEY, |
|
3 |
Drawings_UID TEXT REFERENCES Drawings (UID) NOT NULL, |
|
4 |
Symbol_UID TEXT REFERENCES Symbol (UID) NOT NULL, |
|
5 |
X INTEGER, |
|
6 |
Y INTEGER, |
|
7 |
Width INTEGER, |
|
8 |
Height INTEGER, |
|
9 |
Rotation INTEGER |
|
10 |
); |
DTI_PID/DTI_PID/Scripts/Configuration.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS Configuration ( |
|
2 |
"Section" TEXT NOT NULL, |
|
3 |
"Key" TEXT NOT NULL, |
|
4 |
Value TEXT, |
|
5 |
CONSTRAINT Configuration_PK PRIMARY KEY ("Section","Key") |
|
6 |
); |
DTI_PID/DTI_PID/Scripts/Drawings.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS Drawings ( |
|
2 |
[UID] TEXT CONSTRAINT [FluidCode_PK] PRIMARY KEY NOT NULL, |
|
3 |
[NAME] TEXT NOT NULL, |
|
4 |
[DATETIME] TEXT |
|
5 |
); |
|
6 |
|
|
7 |
CREATE UNIQUE INDEX IF NOT EXISTS [DRAWINGS_NAME_IDX] ON [Drawings]([NAME]); |
DTI_PID/DTI_PID/Scripts/EQUIPMENT_DATA_LIST.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS EQUIPMENT_DATA_LIST ( |
|
2 |
UID TEXT, |
|
3 |
ITEM_NO TEXT, |
|
4 |
SERVICE TEXT, |
|
5 |
NO_REQ TEXT, |
|
6 |
FLUID TEXT, |
|
7 |
DESC_OF_PART TEXT, |
|
8 |
OPERATION_CONDITION_TEMP TEXT, |
|
9 |
OPERATION_CONDITION_PRESS TEXT, |
|
10 |
DESIGN_CONDITION_TEMP TEXT, |
|
11 |
DESIGN_CONDITION_PRESS TEXT, |
|
12 |
MATERIAL TEXT, |
|
13 |
WEIGHT TEXT, |
|
14 |
POWER TEXT, |
|
15 |
INSULATION TEXT, |
|
16 |
PNID_NO TEXT, |
|
17 |
REV TEXT, |
|
18 |
CONSTRAINT EQUIPMENT_DATA_LIST_PK PRIMARY KEY (UID) |
|
19 |
); |
|
20 |
CREATE UNIQUE INDEX IF NOT EXISTS EQUIPMENT_DATA_LIST_TAG_NO_IDX ON EQUIPMENT_DATA_LIST (UID); |
DTI_PID/DTI_PID/Scripts/EqpTagNames.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS [EqpTagNames]( |
|
2 |
[UID] TEXT CONSTRAINT [EqpTagNames_PK] PRIMARY KEY NOT NULL, |
|
3 |
[Code] TEXT NOT NULL UNIQUE, |
|
4 |
[Description] TEXT, |
|
5 |
[Allowables] TEXT); |
|
6 |
|
|
7 |
CREATE UNIQUE INDEX IF NOT EXISTS [EqpTagNames_Code_IDX] ON [EqpTagNames]([Code]); |
DTI_PID/DTI_PID/Scripts/FluidCode.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS [FluidCode]( |
|
2 |
`UID` TEXT NOT NULL, |
|
3 |
`CODE` TEXT NOT NULL, |
|
4 |
`DESCRIPTION` TEXT, |
|
5 |
`Allowables` TEXT, |
|
6 |
CONSTRAINT `FluidCode_PK` PRIMARY KEY(`UID`) |
|
7 |
); |
DTI_PID/DTI_PID/Scripts/HMB.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS HMB ( |
|
2 |
UID TEXT NOT NULL, |
|
3 |
DWG_NAME TEXT NOT NULL, |
|
4 |
NAME TEXT NOT NULL, |
|
5 |
UNIT TEXT, |
|
6 |
VALUE TEXT, |
|
7 |
CONSTRAINT HMB_PK PRIMARY KEY (UID) |
|
8 |
) ; |
DTI_PID/DTI_PID/Scripts/ID2.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS SpecialItemTypes ( |
|
2 |
UID VARCHAR (37) CONSTRAINT SpecialItemTypes_PK PRIMARY KEY |
|
3 |
NOT NULL, |
|
4 |
Code VARCHAR (32) NOT NULL |
|
5 |
UNIQUE, |
|
6 |
Type TEXT, |
|
7 |
Allowables TEXT |
|
8 |
); |
|
9 |
|
|
10 |
CREATE TABLE IF NOT EXISTS SymbolType ( |
|
11 |
UID INTEGER PRIMARY KEY, |
|
12 |
Category TEXT, |
|
13 |
Type VARCHAR (64) NOT NULL |
|
14 |
); |
|
15 |
|
|
16 |
CREATE TABLE IF NOT EXISTS SymbolName ( |
|
17 |
UID INTEGER NOT NULL |
|
18 |
PRIMARY KEY, |
|
19 |
SymbolType_UID INTEGER REFERENCES SymbolType (UID), |
|
20 |
Category TEXT NOT NULL, |
|
21 |
Type VARCHAR (64), |
|
22 |
Name TEXT NOT NULL |
|
23 |
); |
|
24 |
|
|
25 |
CREATE TABLE IF NOT EXISTS Symbol ( |
|
26 |
UID INTEGER PRIMARY KEY AUTOINCREMENT, |
|
27 |
Name VARCHAR (64) NOT NULL, |
|
28 |
SymbolType_UID INTEGER NOT NULL, |
|
29 |
Type TEXT, |
|
30 |
Threshold NUMERIC NOT NULL |
|
31 |
DEFAULT (0.4), |
|
32 |
MinMatchPoint INTEGER NOT NULL |
|
33 |
DEFAULT 0, |
|
34 |
IsDetectOrigin INTEGER NOT NULL |
|
35 |
DEFAULT 0, |
|
36 |
RotationCount INTEGER NOT NULL |
|
37 |
DEFAULT 4, |
|
38 |
OCROption INTEGER NOT NULL |
|
39 |
DEFAULT 0, |
|
40 |
IsContainChild INTEGER NOT NULL |
|
41 |
DEFAULT 0, |
|
42 |
OriginalPoint TEXT, |
|
43 |
ConnectionPoint TEXT, |
|
44 |
BaseSymbol TEXT, |
|
45 |
AdditionalSymbol TEXT, |
|
46 |
IsExceptDetect INTEGER DEFAULT 0, |
|
47 |
HasInstrumentLabel INTEGER DEFAULT 0, |
|
48 |
Width INTEGER, |
|
49 |
Height INTEGER, |
|
50 |
Flip INTEGER, |
|
51 |
FOREIGN KEY ( |
|
52 |
SymbolType_UID |
|
53 |
) |
|
54 |
REFERENCES SymbolType (UID) |
|
55 |
); |
|
56 |
|
|
57 |
CREATE TABLE IF NOT EXISTS Drawings ( |
|
58 |
UID VARCHAR (37) CONSTRAINT FluidCode_PK PRIMARY KEY |
|
59 |
NOT NULL, |
|
60 |
NAME VARCHAR (256) NOT NULL, |
|
61 |
DATETIME TEXT |
|
62 |
); |
|
63 |
|
|
64 |
CREATE TABLE IF NOT EXISTS Components ( |
|
65 |
UID VARCHAR (37) PRIMARY KEY, |
|
66 |
Drawings_UID VARCHAR (37) REFERENCES Drawings (UID) |
|
67 |
NOT NULL, |
|
68 |
Symbol_UID VARCHAR (37) REFERENCES Symbol (UID) |
|
69 |
NOT NULL, |
|
70 |
X INTEGER, |
|
71 |
Y INTEGER, |
|
72 |
Width INTEGER, |
|
73 |
Height INTEGER, |
|
74 |
Rotation REAL, |
|
75 |
Area TEXT, |
|
76 |
Value VARCHAR (64), |
|
77 |
Owner VARCHAR (37), |
|
78 |
Connected VARCHAR (37), |
|
79 |
[Supplied By] TEXT, |
|
80 |
SpecialItemTypes_UID VARCHAR (37) REFERENCES SpecialItemTypes (UID), |
|
81 |
OriginIndex INTEGER DEFAULT (0) |
|
82 |
); |
|
83 |
|
|
84 |
CREATE TABLE IF NOT EXISTS Associations ( |
|
85 |
UID VARCHAR (37) PRIMARY KEY |
|
86 |
NOT NULL, |
|
87 |
Type TEXT NOT NULL, |
|
88 |
Components_UID VARCHAR (37) REFERENCES Components (UID) |
|
89 |
NOT NULL, |
|
90 |
Association VARCHAR (37) REFERENCES Components (UID) |
|
91 |
); |
|
92 |
|
|
93 |
CREATE TABLE IF NOT EXISTS SymbolAttribute ( |
|
94 |
UID VARCHAR (37) NOT NULL, |
|
95 |
SymbolType_UID INTEGER, |
|
96 |
Attribute VARCHAR (32), |
|
97 |
DisplayAttribute TEXT NOT NULL, |
|
98 |
AttributeType TEXT NOT NULL, |
|
99 |
Expression BLOB, |
|
100 |
AttrAt INTEGER DEFAULT 0, |
|
101 |
Length INTEGER, |
|
102 |
Target TEXT DEFAULT 'ALL', |
|
103 |
Property INTEGER DEFAULT 0, |
|
104 |
[index] INT NOT NULL, |
|
105 |
FOREIGN KEY ( |
|
106 |
SymbolType_UID |
|
107 |
) |
|
108 |
REFERENCES SymbolType (UID), |
|
109 |
PRIMARY KEY ( |
|
110 |
SymbolType_UID, |
|
111 |
Attribute |
|
112 |
) |
|
113 |
); |
|
114 |
|
|
115 |
CREATE TABLE IF NOT EXISTS Attributes ( |
|
116 |
UID VARCHAR (37) PRIMARY KEY, |
|
117 |
Components_UID VARCHAR (37) NOT NULL |
|
118 |
REFERENCES Components (UID), |
|
119 |
SymbolAttribute_UID VARCHAR (37) NOT NULL |
|
120 |
REFERENCES SymbolAttribute (UID), |
|
121 |
Value TEXT, |
|
122 |
UNIQUE ( |
|
123 |
Components_UID, |
|
124 |
SymbolAttribute_UID |
|
125 |
) |
|
126 |
); |
|
127 |
|
|
128 |
CREATE TABLE IF NOT EXISTS Colors ( |
|
129 |
UID INTEGER NOT NULL, |
|
130 |
RED INTEGER, |
|
131 |
GREEN INTEGER, |
|
132 |
BLUE INTEGER, |
|
133 |
PROPERTY TEXT, |
|
134 |
VALUE TEXT, |
|
135 |
CONSTRAINT Colors_PK PRIMARY KEY ( |
|
136 |
UID |
|
137 |
) |
|
138 |
); |
|
139 |
|
|
140 |
CREATE TABLE IF NOT EXISTS Configuration ( |
|
141 |
Section TEXT NOT NULL, |
|
142 |
[Key] TEXT NOT NULL, |
|
143 |
Value TEXT, |
|
144 |
CONSTRAINT Configuration_PK PRIMARY KEY ( |
|
145 |
Section, |
|
146 |
[Key] |
|
147 |
) |
|
148 |
); |
|
149 |
|
|
150 |
CREATE TABLE IF NOT EXISTS EqpTagNames ( |
|
151 |
UID VARCHAR (37) CONSTRAINT EqpTagNames_PK PRIMARY KEY |
|
152 |
NOT NULL, |
|
153 |
Code VARCHAR (32) NOT NULL |
|
154 |
UNIQUE, |
|
155 |
Description TEXT, |
|
156 |
Allowables TEXT |
|
157 |
); |
|
158 |
|
|
159 |
CREATE TABLE IF NOT EXISTS EQUIPMENT_DATA_LIST ( |
|
160 |
UID VARCHAR (37) CONSTRAINT EQUIPMENT_DATA_LIST_PK PRIMARY KEY, |
|
161 |
ITEM_NO TEXT, |
|
162 |
SERVICE TEXT, |
|
163 |
NO_REQ TEXT, |
|
164 |
FLUID TEXT, |
|
165 |
DESC_OF_PART TEXT, |
|
166 |
OPERATION_CONDITION_TEMP TEXT, |
|
167 |
OPERATION_CONDITION_PRESS TEXT, |
|
168 |
DESIGN_CONDITION_TEMP TEXT, |
|
169 |
DESIGN_CONDITION_PRESS TEXT, |
|
170 |
MATERIAL TEXT, |
|
171 |
WEIGHT TEXT, |
|
172 |
POWER TEXT, |
|
173 |
INSULATION TEXT, |
|
174 |
PNID_NO TEXT, |
|
175 |
REV TEXT |
|
176 |
); |
|
177 |
|
|
178 |
CREATE TABLE IF NOT EXISTS FluidCode ( |
|
179 |
UID VARCHAR (37) NOT NULL, |
|
180 |
CODE VARCHAR (32) NOT NULL, |
|
181 |
DESCRIPTION TEXT, |
|
182 |
Allowables TEXT, |
|
183 |
CONSTRAINT FluidCode_PK PRIMARY KEY ( |
|
184 |
UID |
|
185 |
), |
|
186 |
UNIQUE ( |
|
187 |
CODE |
|
188 |
) |
|
189 |
); |
|
190 |
|
|
191 |
CREATE TABLE IF NOT EXISTS HMB ( |
|
192 |
UID VARCHAR (37) NOT NULL, |
|
193 |
STREAM_NO TEXT NOT NULL, |
|
194 |
NAME TEXT NOT NULL, |
|
195 |
UNIT TEXT, |
|
196 |
VALUE TEXT, |
|
197 |
PRIMARY KEY ( |
|
198 |
UID |
|
199 |
) |
|
200 |
); |
|
201 |
|
|
202 |
CREATE TABLE IF NOT EXISTS INSTRUMENT_DATA_LIST ( |
|
203 |
UID VARCHAR (37), |
|
204 |
ITEM_NO TEXT, |
|
205 |
SERVICE TEXT, |
|
206 |
FLOW_RATE TEXT, |
|
207 |
PRESSURE TEXT, |
|
208 |
TEMPERATURE TEXT, |
|
209 |
TYPE TEXT, |
|
210 |
RANGE TEXT, |
|
211 |
NOR_LEVEL_MM TEXT, |
|
212 |
NOR_LEVEL_PERCENT TEXT, |
|
213 |
DEL_PRESS TEXT, |
|
214 |
SHUT_OFF TEXT, |
|
215 |
LOCATION TEXT, |
|
216 |
PNID_NO TEXT, |
|
217 |
REV TEXT, |
|
218 |
CONSTRAINT EQUIPMENT_DATA_LIST_PK PRIMARY KEY ( |
|
219 |
UID |
|
220 |
) |
|
221 |
); |
|
222 |
|
|
223 |
CREATE TABLE IF NOT EXISTS InsulationPurpose ( |
|
224 |
UID VARCHAR (37) CONSTRAINT InsulationPurpose_PK PRIMARY KEY |
|
225 |
NOT NULL, |
|
226 |
CODE VARCHAR (32) NOT NULL |
|
227 |
UNIQUE, |
|
228 |
DESCRIPTION TEXT, |
|
229 |
Allowables TEXT |
|
230 |
); |
|
231 |
|
|
232 |
CREATE TABLE IF NOT EXISTS LINE_DATA_LIST ( |
|
233 |
UID VARCHAR (37), |
|
234 |
LINE_SIZE TEXT, |
|
235 |
LINE_SYMBOL TEXT, |
|
236 |
LINE_NO TEXT, |
|
237 |
LINE_CLASS TEXT, |
|
238 |
LINE_ROUTING_FROM TEXT, |
|
239 |
LINE_ROUTING_TO TEXT, |
|
240 |
SERVICE_FLUID TEXT, |
|
241 |
SERVICE_DENSITY TEXT, |
|
242 |
SERVICE_STATE TEXT, |
|
243 |
OPERATION_CONDITION_TEMP TEXT, |
|
244 |
OPERATION_CONDITION_PRESS TEXT, |
|
245 |
DESIGN_CONDITION_TEMP TEXT, |
|
246 |
DESIGN_CONDITION_PRESS TEXT, |
|
247 |
TEST_CONDITION_TEMP TEXT, |
|
248 |
TEST_CONDITION_PRESS TEXT, |
|
249 |
INSUL_CODE TEXT, |
|
250 |
PAINT_CODE TEXT, |
|
251 |
NDE_CODE TEXT, |
|
252 |
PWHT TEXT, |
|
253 |
PNID_NO TEXT, |
|
254 |
STREAM_NO TEXT, |
|
255 |
CONSTRAINT LINE_DATA_LIST_PK PRIMARY KEY ( |
|
256 |
UID |
|
257 |
) |
|
258 |
); |
|
259 |
|
|
260 |
CREATE TABLE IF NOT EXISTS LineProperties ( |
|
261 |
UID VARCHAR (37) NOT NULL, |
|
262 |
Name TEXT NOT NULL, |
|
263 |
DisplayName TEXT, |
|
264 |
Type TEXT, |
|
265 |
LimitNumber INTEGER, |
|
266 |
[Index] INTEGER, |
|
267 |
PRIMARY KEY ( |
|
268 |
UID |
|
269 |
) |
|
270 |
); |
|
271 |
|
|
272 |
CREATE TABLE IF NOT EXISTS LineNoAttributes ( |
|
273 |
UID VARCHAR (37) PRIMARY KEY, |
|
274 |
Components_UID VARCHAR (37) NOT NULL |
|
275 |
REFERENCES Components (UID), |
|
276 |
LineProperties_UID VARCHAR (37) NOT NULL |
|
277 |
REFERENCES LineProperties (UID), |
|
278 |
Value TEXT, |
|
279 |
UNIQUE ( |
|
280 |
Components_UID, |
|
281 |
LineProperties_UID |
|
282 |
) |
|
283 |
); |
|
284 |
|
|
285 |
CREATE TABLE IF NOT EXISTS LineTypes ( |
|
286 |
UID VARCHAR (37) NOT NULL, |
|
287 |
Name VARCHAR (64) NOT NULL, |
|
288 |
Type1 TEXT, |
|
289 |
Conditions1 TEXT, |
|
290 |
Type2 TEXT, |
|
291 |
Conditions2 TEXT, |
|
292 |
PRIMARY KEY ( |
|
293 |
UID |
|
294 |
), |
|
295 |
UNIQUE ( |
|
296 |
Name |
|
297 |
) |
|
298 |
); |
|
299 |
|
|
300 |
CREATE TABLE IF NOT EXISTS NominalDiameter ( |
|
301 |
UID VARCHAR (37) PRIMARY KEY, |
|
302 |
Code VARCHAR (32) NOT NULL, |
|
303 |
Metric REAL, |
|
304 |
Inch REAL, |
|
305 |
InchStr VARCHAR (32), |
|
306 |
AllowableInchStr VARCHAR (32), |
|
307 |
MetricStr VARCHAR (32), |
|
308 |
AllowableMetricStr VARCHAR (32) |
|
309 |
); |
|
310 |
|
|
311 |
CREATE TABLE IF NOT EXISTS NOTE_DATA_LIST ( |
|
312 |
UID VARCHAR (37), |
|
313 |
NOTE_NO VARCHAR (32), |
|
314 |
DESCRIPTION TEXT, |
|
315 |
PNID_NO TEXT, |
|
316 |
CONSTRAINT NOTE_DATA_LIST_PK PRIMARY KEY ( |
|
317 |
UID |
|
318 |
) |
|
319 |
); |
|
320 |
|
|
321 |
CREATE TABLE IF NOT EXISTS OPCRelations ( |
|
322 |
From_Drawings_UID VARCHAR (37) REFERENCES Drawings (UID), |
|
323 |
From_LineNo_UID VARCHAR (37) REFERENCES Components (UID), |
|
324 |
From_OPC_UID VARCHAR (37) REFERENCES Components (UID) |
|
325 |
PRIMARY KEY, |
|
326 |
To_Drawings_UID VARCHAR (37) REFERENCES Drawings (UID), |
|
327 |
To_LineNo_UID VARCHAR (37) REFERENCES Components (UID), |
|
328 |
To_OPC_UID VARCHAR (37) REFERENCES Components (UID) |
|
329 |
); |
|
330 |
|
|
331 |
CREATE TABLE IF NOT EXISTS PipeRuns ( |
|
332 |
UID VARCHAR (37) PRIMARY KEY |
|
333 |
NOT NULL, |
|
334 |
Drawings_UID VARCHAR (37) REFERENCES Drawings (UID) |
|
335 |
NOT NULL, |
|
336 |
Type TEXT, |
|
337 |
Owner VARCHAR (37) REFERENCES Components (UID) |
|
338 |
NOT NULL, |
|
339 |
[Index] INTEGER NOT NULL |
|
340 |
); |
|
341 |
|
|
342 |
CREATE TABLE IF NOT EXISTS PipeRunItems ( |
|
343 |
UID VARCHAR (37) PRIMARY KEY |
|
344 |
NOT NULL, |
|
345 |
PipeRuns_UID VARCHAR (37) REFERENCES PipeRuns (UID) |
|
346 |
NOT NULL, |
|
347 |
[Index] INTEGER NOT NULL, |
|
348 |
Components_UID VARCHAR (37) REFERENCES Components (UID) |
|
349 |
NOT NULL |
|
350 |
); |
|
351 |
|
|
352 |
CREATE TABLE IF NOT EXISTS PipingMaterialsClass ( |
|
353 |
UID VARCHAR (37) CONSTRAINT PipingMaterialsClass_PK PRIMARY KEY |
|
354 |
NOT NULL, |
|
355 |
CODE VARCHAR (32) NOT NULL |
|
356 |
UNIQUE, |
|
357 |
DESCRIPTION TEXT, |
|
358 |
Allowables TEXT |
|
359 |
); |
|
360 |
|
|
361 |
CREATE TABLE IF NOT EXISTS PnIDNumber ( |
|
362 |
UID VARCHAR (37) CONSTRAINT PnIDNumber_PK PRIMARY KEY |
|
363 |
NOT NULL, |
|
364 |
CODE VARCHAR (32) NOT NULL |
|
365 |
UNIQUE, |
|
366 |
DESCRIPTION TEXT, |
|
367 |
Allowables TEXT |
|
368 |
); |
|
369 |
|
|
370 |
CREATE TABLE IF NOT EXISTS Points ( |
|
371 |
Components_UID VARCHAR (37) NOT NULL, |
|
372 |
[Index] INTEGER NOT NULL, |
|
373 |
X REAL NOT NULL, |
|
374 |
Y REAL NOT NULL, |
|
375 |
Connected VARCHAR (37), |
|
376 |
Connected_At TEXT, |
|
377 |
CONSTRAINT FK_Components_UID FOREIGN KEY ( |
|
378 |
Components_UID |
|
379 |
) |
|
380 |
REFERENCES Components (UID), |
|
381 |
UNIQUE ( |
|
382 |
Components_UID, |
|
383 |
[Index] |
|
384 |
) |
|
385 |
); |
|
386 |
|
|
387 |
CREATE TABLE IF NOT EXISTS ReservedWords ( |
|
388 |
UID VARCHAR (37) CONSTRAINT ReservedWords_PK PRIMARY KEY |
|
389 |
NOT NULL, |
|
390 |
Code VARCHAR (32) NOT NULL |
|
391 |
UNIQUE, |
|
392 |
Description TEXT, |
|
393 |
Allowables TEXT |
|
394 |
); |
|
395 |
|
|
396 |
CREATE TABLE IF NOT EXISTS TitleBlockProperties ( |
|
397 |
UID VARCHAR (37) CONSTRAINT TitleBlockProperties_PK PRIMARY KEY |
|
398 |
NOT NULL, |
|
399 |
NAME VARCHAR (32) NOT NULL |
|
400 |
UNIQUE, |
|
401 |
AREA TEXT |
|
402 |
); |
|
403 |
|
|
404 |
CREATE TABLE IF NOT EXISTS TitleBlockValues ( |
|
405 |
UID VARCHAR (37) PRIMARY KEY, |
|
406 |
Drawings_UID VARCHAR (37) REFERENCES Drawings (UID), |
|
407 |
TitleBlockProperties_UID VARCHAR (37) REFERENCES TitleBlockProperties (UID), |
|
408 |
VALUE TEXT |
|
409 |
); |
|
410 |
|
|
411 |
CREATE TABLE IF NOT EXISTS UnitNumber ( |
|
412 |
UID VARCHAR (37) CONSTRAINT UnitNumber_PK PRIMARY KEY |
|
413 |
NOT NULL, |
|
414 |
CODE VARCHAR (32) NOT NULL |
|
415 |
UNIQUE, |
|
416 |
DESCRIPTION TEXT, |
|
417 |
Allowables TEXT |
|
418 |
); |
|
419 |
|
|
420 |
CREATE TABLE IF NOT EXISTS VALVE_DATA_LIST ( |
|
421 |
UID VARCHAR (37), |
|
422 |
ITEM_NO TEXT, |
|
423 |
MainSize TEXT, |
|
424 |
SubSize TEXT, |
|
425 |
PNID_NO TEXT, |
|
426 |
CONSTRAINT VALVE_DATA_LIST_PK PRIMARY KEY ( |
|
427 |
UID |
|
428 |
) |
|
429 |
); |
|
430 |
|
|
431 |
CREATE TABLE IF NOT EXISTS ValveOperCodes ( |
|
432 |
UID VARCHAR (37) CONSTRAINT ValveOperCodes_PK PRIMARY KEY |
|
433 |
NOT NULL, |
|
434 |
Code VARCHAR (32) NOT NULL |
|
435 |
UNIQUE, |
|
436 |
Description TEXT, |
|
437 |
Allowables TEXT |
|
438 |
); |
DTI_PID/DTI_PID/Scripts/INSTRUMENT_DATA_LIST.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS INSTRUMENT_DATA_LIST ( |
|
2 |
UID TEXT, |
|
3 |
ITEM_NO TEXT, |
|
4 |
SERVICE TEXT, |
|
5 |
FLOW_RATE TEXT, |
|
6 |
PRESSURE TEXT, |
|
7 |
TEMPERATURE TEXT, |
|
8 |
TYPE TEXT, |
|
9 |
RANGE TEXT, |
|
10 |
NOR_LEVEL_MM TEXT, |
|
11 |
NOR_LEVEL_PERCENT TEXT, |
|
12 |
DEL_PRESS TEXT, |
|
13 |
SHUT_OFF TEXT, |
|
14 |
LOCATION TEXT, |
|
15 |
PNID_NO TEXT, |
|
16 |
REV TEXT, |
|
17 |
CONSTRAINT EQUIPMENT_DATA_LIST_PK PRIMARY KEY (UID) |
|
18 |
); |
|
19 |
CREATE UNIQUE INDEX IF NOT EXISTS INSTRUMENT_DATA_LIST_TAG_NO_IDX ON INSTRUMENT_DATA_LIST (UID); |
DTI_PID/DTI_PID/Scripts/InsulationPurpose.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS [InsulationPurpose]( |
|
2 |
`UID` TEXT NOT NULL, |
|
3 |
`CODE` TEXT NOT NULL UNIQUE, |
|
4 |
`DESCRIPTION` TEXT, |
|
5 |
`Allowables` TEXT, |
|
6 |
CONSTRAINT `InsulationPurpose_PK` PRIMARY KEY(`UID`) |
|
7 |
); |
|
8 |
|
|
9 |
CREATE UNIQUE INDEX IF NOT EXISTS [InsulationPurpose_CODE_IDX] ON [InsulationPurpose]([CODE]); |
DTI_PID/DTI_PID/Scripts/LINE_DATA_LIST.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS LINE_DATA_LIST ( |
|
2 |
UID TEXT, |
|
3 |
LINE_SIZE TEXT, |
|
4 |
LINE_SYMBOL TEXT, |
|
5 |
LINE_NO TEXT, |
|
6 |
LINE_CLASS TEXT, |
|
7 |
LINE_ROUTING_FROM TEXT, |
|
8 |
LINE_ROUTING_TO TEXT, |
|
9 |
SERVICE_FLUID TEXT, |
|
10 |
SERVICE_DENSITY TEXT, |
|
11 |
SERVICE_STATE TEXT, |
|
12 |
OPERATION_CONDITION_TEMP TEXT, |
|
13 |
OPERATION_CONDITION_PRESS TEXT, |
|
14 |
DESIGN_CONDITION_TEMP TEXT, |
|
15 |
DESIGN_CONDITION_PRESS TEXT, |
|
16 |
TEST_CONDITION_TEMP TEXT, |
|
17 |
TEST_CONDITION_PRESS TEXT, |
|
18 |
INSUL_CODE TEXT, |
|
19 |
PAINT_CODE TEXT, |
|
20 |
NDE_CODE TEXT, |
|
21 |
PWHT TEXT, |
|
22 |
PNID_NO TEXT, |
|
23 |
STREAM_NO TEXT, |
|
24 |
CONSTRAINT LINE_DATA_LIST_PK PRIMARY KEY (UID) |
|
25 |
); |
|
26 |
CREATE UNIQUE INDEX IF NOT EXISTS LINE_DATA_LIST_TAG_NO_IDX ON LINE_DATA_LIST (UID); |
DTI_PID/DTI_PID/Scripts/LineNoAttributes.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS LineNoAttributes ( |
|
2 |
UID TEXT PRIMARY KEY, |
|
3 |
Components_UID TEXT NOT NULL |
|
4 |
REFERENCES Components (UID), |
|
5 |
LineProperties_UID TEXT NOT NULL |
|
6 |
REFERENCES LineProperties (UID), |
|
7 |
Value TEXT, |
|
8 |
FOREIGN KEY ( |
|
9 |
LineProperties_UID |
|
10 |
) |
|
11 |
REFERENCES SymbolAttribute (UID), |
|
12 |
UNIQUE ( |
|
13 |
Components_UID, |
|
14 |
LineProperties_UID |
|
15 |
) |
|
16 |
); |
DTI_PID/DTI_PID/Scripts/LineProperties.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS LineProperties ( |
|
2 |
UID TEXT NOT NULL, |
|
3 |
Name TEXT NOT NULL, |
|
4 |
[DisplayName] TEXT, |
|
5 |
[Type] TEXT, |
|
6 |
[LimitNumber] INTEGER, |
|
7 |
[Index] INTEGER, |
|
8 |
CONSTRAINT LineProperties_PK PRIMARY KEY (UID) |
|
9 |
); |
|
10 |
CREATE UNIQUE INDEX IF NOT EXISTS LineProperties_Name_IDX ON LineProperties (Name); |
DTI_PID/DTI_PID/Scripts/LineTypes.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS LineTypes ( |
|
2 |
UID TEXT NOT NULL, |
|
3 |
Name TEXT NOT NULL UNIQUE, |
|
4 |
Type1 TEXT, |
|
5 |
Conditions1 TEXT, |
|
6 |
Type2 TEXT, |
|
7 |
Conditions2 TEXT, |
|
8 |
PRIMARY KEY ( |
|
9 |
UID |
|
10 |
) |
|
11 |
); |
DTI_PID/DTI_PID/Scripts/NOMINAL PIPE SIZE.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS "NOMINAL PIPE SIZE"( |
|
2 |
Code VARCHAR(2147483647) NOT NULL, |
|
3 |
Metric REAL, |
|
4 |
Inch REAL, |
|
5 |
InchStr VARCHAR(2147483647), |
|
6 |
MetricStr VARCHAR(2147483647) |
|
7 |
); |
DTI_PID/DTI_PID/Scripts/NOTE_DATA_LIST.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS NOTE_DATA_LIST ( |
|
2 |
UID TEXT, |
|
3 |
NOTE_NO TEXT, |
|
4 |
DESCRIPTION TEXT, |
|
5 |
PNID_NO TEXT, |
|
6 |
CONSTRAINT NOTE_DATA_LIST_PK PRIMARY KEY (UID) |
|
7 |
); |
|
8 |
CREATE UNIQUE INDEX IF NOT EXISTS NOTE_DATA_LIST_TAG_NO_IDX ON NOTE_DATA_LIST (UID); |
DTI_PID/DTI_PID/Scripts/OPCRelations.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS OPCRelations ( |
|
2 |
UID TEXT PRIMARY KEY |
|
3 |
NOT NULL, |
|
4 |
From_Drawings_UID TEXT REFERENCES Drawings (UID), |
|
5 |
From_LineNo_UID TEXT REFERENCES Components (UID), |
|
6 |
From_OPC_UID TEXT REFERENCES Components (UID), |
|
7 |
To_Drawings_UID TEXT REFERENCES Drawings (UID), |
|
8 |
To_LineNo_UID TEXT REFERENCES Components (UID), |
|
9 |
To_OPC_UID TEXT REFERENCES Components (UID) |
|
10 |
); |
DTI_PID/DTI_PID/Scripts/PipeRunItems.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS PipeRunItems ( |
|
2 |
UID TEXT PRIMARY KEY |
|
3 |
NOT NULL, |
|
4 |
PipeRuns_UID TEXT REFERENCES PipeRuns (UID) |
|
5 |
NOT NULL, |
|
6 |
[Index] INTEGER NOT NULL, |
|
7 |
Components_UID TEXT REFERENCES Components (UID) |
|
8 |
NOT NULL |
|
9 |
); |
DTI_PID/DTI_PID/Scripts/PipeRuns.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS PipeRuns ( |
|
2 |
UID TEXT PRIMARY KEY |
|
3 |
NOT NULL, |
|
4 |
Drawings_UID TEXT REFERENCES Drawings (UID) |
|
5 |
NOT NULL, |
|
6 |
Type TEXT, |
|
7 |
Owner TEXT REFERENCES Components (UID) |
|
8 |
NOT NULL, |
|
9 |
[Index] INTEGER NOT NULL |
|
10 |
); |
DTI_PID/DTI_PID/Scripts/PipingMaterialsClass.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS [PipingMaterialsClass]( |
|
2 |
`UID` TEXT NOT NULL, |
|
3 |
`CODE` TEXT NOT NULL UNIQUE, |
|
4 |
`DESCRIPTION` TEXT, |
|
5 |
`Allowables` TEXT, |
|
6 |
CONSTRAINT `PipingMaterialsClass_PK` PRIMARY KEY(`UID`) |
|
7 |
); |
|
8 |
|
|
9 |
CREATE UNIQUE INDEX IF NOT EXISTS [PipingMaterialsClass_CODE_IDX] ON [PipingMaterialsClass]([CODE]); |
DTI_PID/DTI_PID/Scripts/PnIDNumber.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS [PnIDNumber]( |
|
2 |
[UID] TEXT CONSTRAINT [PnIDNumber_PK] PRIMARY KEY NOT NULL, |
|
3 |
[CODE] TEXT NOT NULL UNIQUE, |
|
4 |
[DESCRIPTION] TEXT); |
|
5 |
|
|
6 |
CREATE UNIQUE INDEX IF NOT EXISTS [PnIDNumber_CODE_IDX] ON [PnIDNumber]([CODE]); |
DTI_PID/DTI_PID/Scripts/Points.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS Points ( |
|
2 |
UID TEXT NOT NULL, |
|
3 |
Components_UID TEXT NOT NULL, |
|
4 |
[Index] INTEGER NOT NULL, |
|
5 |
X REAL NOT NULL, |
|
6 |
Y REAL NOT NULL, |
|
7 |
CONSTRAINT PK_Points PRIMARY KEY ( |
|
8 |
UID |
|
9 |
), |
|
10 |
CONSTRAINT FK_Components_UID FOREIGN KEY ( |
|
11 |
Components_UID |
|
12 |
) |
|
13 |
REFERENCES Components (UID) |
|
14 |
); |
DTI_PID/DTI_PID/Scripts/ReservedWords.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS ReservedWords ( |
|
2 |
UID TEXT CONSTRAINT ReservedWords_PK PRIMARY KEY NOT NULL, Code TEXT NOT NULL UNIQUE, Description TEXT, Allowables TEXT |
|
3 |
); |
DTI_PID/DTI_PID/Scripts/SpecialItemTypes.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS SpecialItemTypes ( |
|
2 |
UID TEXT CONSTRAINT SpecialItemTypes_PK PRIMARY KEY |
|
3 |
NOT NULL, |
|
4 |
Code TEXT NOT NULL |
|
5 |
UNIQUE, |
|
6 |
Type TEXT, |
|
7 |
Allowables TEXT |
|
8 |
); |
DTI_PID/DTI_PID/Scripts/Symbol.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS "Symbol" ( |
|
2 |
`UID` INTEGER PRIMARY KEY AUTOINCREMENT, |
|
3 |
`Name` TEXT NOT NULL, |
|
4 |
`SymbolType_UID` TEXT NOT NULL, |
|
5 |
`Type` TEXT, |
|
6 |
`Threshold` NUMERIC NOT NULL DEFAULT (0.4), |
|
7 |
`MinMatchPoint` TEXT NOT NULL DEFAULT 0, |
|
8 |
`IsDetectOrigin` INTEGER NOT NULL DEFAULT 0, |
|
9 |
`RotationCount` INTEGER NOT NULL DEFAULT 4, |
|
10 |
`OCROption` INTEGER NOT NULL DEFAULT 0, |
|
11 |
`IsContainChild` INTEGER NOT NULL DEFAULT 0, |
|
12 |
`OriginalPoint` TEXT, |
|
13 |
`ConnectionPoint` TEXT, |
|
14 |
`BaseSymbol` TEXT, |
|
15 |
`AdditionalSymbol` TEXT, |
|
16 |
`IsExceptDetect` INTEGER DEFAULT 0, |
|
17 |
`HasInstrumentLabel` INTEGER DEFAULT 0, |
|
18 |
`Width` INTEGER, |
|
19 |
`Height` INTEGER, |
|
20 |
`Flip` INTEGER, |
|
21 |
FOREIGN KEY(`SymbolType_UID`) REFERENCES `SymbolType`(`UID`) |
|
22 |
); |
DTI_PID/DTI_PID/Scripts/SymbolAttribute.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS SymbolAttribute ( |
|
2 |
UID VARCHAR (37) NOT NULL, |
|
3 |
SymbolType_UID INTEGER, |
|
4 |
Attribute VARCHAR (32), |
|
5 |
DisplayAttribute TEXT NOT NULL, |
|
6 |
AttributeType TEXT NOT NULL, |
|
7 |
Expression BLOB, |
|
8 |
AttrAt INTEGER DEFAULT 0, |
|
9 |
Length INTEGER, |
|
10 |
Target TEXT DEFAULT 'ALL', |
|
11 |
Property INTEGER DEFAULT 0, |
|
12 |
[index] INT NOT NULL, |
|
13 |
FOREIGN KEY ( |
|
14 |
SymbolType_UID |
|
15 |
) |
|
16 |
REFERENCES SymbolType (UID), |
|
17 |
PRIMARY KEY ( |
|
18 |
SymbolType_UID, |
|
19 |
Attribute |
|
20 |
) |
|
21 |
); |
|
22 |
|
|
23 |
|
|
24 |
--INSERT INTO SymbolAttribute(UID,SymbolType_UID,Attribute,DisplayAttribute,AttributeType,[Index]) SELECT '3bf98d8c-5736-4b4a-8008-deb36e09056b',-1,'LineType','Line Type','String',0 FROM SymbolAttribute WHERE not EXISTS(SELECT 1 FROM SymbolAttribute WHERE Attribute='LineType' AND SymbolType_UID=-1); |
|
25 |
--INSERT INTO SymbolAttribute(UID,SymbolType_UID,Attribute,DisplayAttribute,AttributeType,[Index]) SELECT '2c413303-cc5a-4d4c-af24-a837041276f4',-1,'Thickness','Thickness','Int',1 FROM SymbolAttribute WHERE not EXISTS(SELECT 1 FROM SymbolAttribute WHERE Attribute='Thickness' AND SymbolType_UID=-1); |
|
26 |
--INSERT INTO SymbolAttribute(UID,SymbolType_UID,Attribute,DisplayAttribute,AttributeType,[Index]) SELECT 'b8f6c3a5-4abb-462b-b90f-66afac591aab',-1,'FlowMark','Flow Mark','String',2 FROM SymbolAttribute WHERE not EXISTS(SELECT 1 FROM SymbolAttribute WHERE Attribute='FlowMark' AND SymbolType_UID=-1); |
|
27 |
--INSERT INTO SymbolAttribute(UID,SymbolType_UID,Attribute,DisplayAttribute,AttributeType,[Index]) SELECT '60c3f3bc-a69d-42b2-b198-9b6ee0dd2594',-1,'LineIndicator','Line Indicator','String',3 FROM SymbolAttribute WHERE not EXISTS(SELECT 1 FROM SymbolAttribute WHERE Attribute='LineIndicator' AND SymbolType_UID=-1); |
|
28 |
--INSERT INTO SymbolAttribute(UID,SymbolType_UID,Attribute,DisplayAttribute,AttributeType,[Index]) SELECT '86699578-706a-4158-b636-6b5dc8a11ad7',-1,'From','From','String',4 FROM SymbolAttribute WHERE not EXISTS(SELECT 1 FROM SymbolAttribute WHERE Attribute='From' AND SymbolType_UID=-1); |
|
29 |
--INSERT INTO SymbolAttribute(UID,SymbolType_UID,Attribute,DisplayAttribute,AttributeType,[Index]) SELECT '3329313c-cd06-4b89-a10b-795dcdf5830f',-1,'To','To','Int',5 FROM SymbolAttribute WHERE not EXISTS(SELECT 1 FROM SymbolAttribute WHERE Attribute='To' AND SymbolType_UID=-1); |
|
30 |
--INSERT INTO SymbolAttribute(UID,SymbolType_UID,Attribute,DisplayAttribute,AttributeType,[Index]) SELECT '61190fa0-8074-4f25-8b47-8b0b686e1ede',-1,'Freeze','Freeze','Int',6 FROM SymbolAttribute WHERE not EXISTS(SELECT 1 FROM SymbolAttribute WHERE Attribute='Freeze' AND SymbolType_UID=-1); |
DTI_PID/DTI_PID/Scripts/SymbolName.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS "SymbolName" ( |
|
2 |
`UID` INTEGER NOT NULL, |
|
3 |
`SymbolType_UID` INTEGER, |
|
4 |
`Category` TEXT ( 2000000000 ) NOT NULL, |
|
5 |
`Type` TEXT ( 2000000000 ), |
|
6 |
`Name` TEXT ( 2000000000 ) NOT NULL, |
|
7 |
FOREIGN KEY(`SymbolType_UID`) REFERENCES `SymbolType`(`UID`), |
|
8 |
PRIMARY KEY(`UID`) |
|
9 |
); |
DTI_PID/DTI_PID/Scripts/SymbolType.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS SymbolType( |
|
2 |
`UID` INTEGER, |
|
3 |
`Category` TEXT ( 2000000000 ), |
|
4 |
`Type` TEXT ( 2000000000 ), |
|
5 |
PRIMARY KEY(`UID`) |
|
6 |
); |
DTI_PID/DTI_PID/Scripts/TitleBlockProperties.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS [TitleBlockProperties]( |
|
2 |
[UID] TEXT CONSTRAINT [TitleBlockProperties_PK] PRIMARY KEY NOT NULL, |
|
3 |
[NAME] TEXT NOT NULL UNIQUE, |
|
4 |
[AREA] TEXT |
|
5 |
); |
|
6 |
CREATE UNIQUE INDEX IF NOT EXISTS [TitleBlockProperties_NAME_IDX] ON [TitleBlockProperties]([NAME]); |
DTI_PID/DTI_PID/Scripts/TitleBlockValues.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS TitleBlockValues ( |
|
2 |
UID TEXT PRIMARY KEY, |
|
3 |
Drawings_UID TEXT REFERENCES Drawings (UID), |
|
4 |
TitleBlockProperties_UID TEXT REFERENCES TitleBlockProperties (UID), |
|
5 |
VALUE TEXT |
|
6 |
); |
|
7 |
CREATE UNIQUE INDEX IF NOT EXISTS [TitleBlockValues_UNIQUE_IDX] ON [TitleBlockValues]([Drawings_UID],[TitleBlockProperties_UID]); |
DTI_PID/DTI_PID/Scripts/UnitNumber.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS [UnitNumber]( |
|
2 |
`UID` TEXT NOT NULL, |
|
3 |
`CODE` TEXT NOT NULL UNIQUE, |
|
4 |
`DESCRIPTION` TEXT, |
|
5 |
`Allowables` TEXT, |
|
6 |
CONSTRAINT `UnitNumber_PK` PRIMARY KEY(`UID`) |
|
7 |
); |
DTI_PID/DTI_PID/Scripts/VALVE_DATA_LIST.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS VALVE_DATA_LIST ( |
|
2 |
UID TEXT, |
|
3 |
ITEM_NO TEXT, |
|
4 |
MainSize TEXT, |
|
5 |
SubSize TEXT, |
|
6 |
PNID_NO TEXT, |
|
7 |
CONSTRAINT VALVE_DATA_LIST_PK PRIMARY KEY (UID) |
|
8 |
); |
|
9 |
CREATE UNIQUE INDEX IF NOT EXISTS VALVE_DATA_LIST_TAG_NO_IDX ON VALVE_DATA_LIST (UID); |
DTI_PID/DTI_PID/Scripts/ValveOperCodes.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS [ValveOperCodes]( |
|
2 |
[UID] TEXT CONSTRAINT [ValveOperCodes_PK] PRIMARY KEY NOT NULL, |
|
3 |
[Code] TEXT NOT NULL UNIQUE, |
|
4 |
[Description] TEXT, |
|
5 |
[Allowables] TEXT); |
|
6 |
|
|
7 |
CREATE UNIQUE INDEX IF NOT EXISTS [ValveOperCodes_Code_IDX] ON [ValveOperCodes]([Code]); |
DTI_PID/DTI_PID/Scripts/VendorPackages.sql | ||
---|---|---|
1 |
CREATE TABLE IF NOT EXISTS VendorPackages ( |
|
2 |
UID TEXT PRIMARY KEY, |
|
3 |
Drawings_UID TEXT REFERENCES Drawings (UID) NOT NULL, |
|
4 |
PTS TEXT |
|
5 |
); |
DTI_PID/DTI_PID/Shapes/EngineeringConnectorItem.py | ||
---|---|---|
490 | 490 |
message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno) |
491 | 491 |
App.mainWnd().addMessage.emit(MessageType.Error, message) |
492 | 492 |
|
493 |
def validate(self): |
|
494 |
""" validate connector """ |
|
495 |
from AppDocData import AppDocData |
|
496 |
from SymbolSvgItem import SymbolSvgItem |
|
497 |
from EngineeringLineItem import QEngineeringLineItem |
|
498 |
|
|
499 |
errors = [] |
|
500 |
if type(self.parentItem()) is QEngineeringLineItem: return errors |
|
501 |
|
|
502 |
if self.boundingRect().center() == self.sceneBoundingRect().center(): |
|
503 |
_translate = QCoreApplication.translate |
|
504 |
|
|
505 |
app_doc_data = AppDocData.instance() |
|
506 |
path = app_doc_data.getErrorItemSvgPath() |
|
507 |
|
|
508 |
error = SymbolSvgItem.createItem('Error', path) |
|
509 |
error.setPosition(self.center()) |
|
510 |
error.parent = self.parentItem() |
|
511 |
error.msg = "connection point's position error" |
|
512 |
error.setToolTip(error.msg) |
|
513 |
error.area = 'Drawing' |
|
514 |
error.name = 'Error' |
|
515 |
errors.append(error) |
|
516 |
|
|
517 |
return errors |
|
518 |
|
|
493 | 519 |
@staticmethod |
494 | 520 |
def fromXml(node): |
495 | 521 |
""" generate connector instance from xml node """ |
... | ... | |
510 | 536 |
connectedItemNode = Element('CONNECTEDITEM') |
511 | 537 |
connectedItemNode.text = str(self.connectedItem.uid) if self.connectedItem and not type(self.connectedItem) is uuid.UUID else 'None' |
512 | 538 |
connectPointNode = Element('CONNECTPOINT') |
513 |
connectPointNode.text = str(self.connectPoint[0]) + ',' + str(self.connectPoint[1]) |
|
539 |
center = self.boundingRect().center() |
|
540 |
connectPointNode.text = str(center.x()) + ',' + str(center.y()) |
|
514 | 541 |
sceneConnectPointNode = Element('SCENECONNECTPOINT') |
515 | 542 |
center = self.sceneBoundingRect().center() |
516 | 543 |
sceneConnectPointNode.text = str(center.x()) + ',' + str(center.y()) |
DTI_PID/DTI_PID/Shapes/EngineeringErrorItem.py | ||
---|---|---|
18 | 18 |
from UserInputAttribute import UserInputAttribute |
19 | 19 |
|
20 | 20 |
class QEngineeringErrorItem(SymbolSvgItem): |
21 |
""" |
|
22 |
This is Engineering Error Item class |
|
23 |
""" |
|
21 |
""" This is Engineering Error Item class """ |
|
24 | 22 |
clicked = pyqtSignal(QGraphicsSvgItem) |
25 | 23 |
|
26 | 24 |
''' |
... | ... | |
31 | 29 |
self.setZValue(QEngineeringErrorItem.ZVALUE) |
32 | 30 |
self.msg = None |
33 | 31 |
|
34 |
def setPosition(self, loc, origin): |
|
35 |
transform = QTransform() |
|
36 |
transform.translate(loc[0] - origin[0], loc[1] - origin[1]) |
|
37 |
self.origin = origin |
|
32 |
def setPosition(self, loc): |
|
33 |
rect = self.boundingRect() |
|
38 | 34 |
self.loc = loc |
39 |
self.setTransform(transform) |
|
40 |
|
|
35 |
self.setPos(loc[0] - rect.width(), loc[1] - rect.height()) |
|
36 |
|
|
37 |
def mouseDoubleClickEvent(self, event): |
|
38 |
""" do not start rotating """ |
|
39 |
pass |
|
40 |
|
|
41 |
def keyPressEvent(self, event): |
|
42 |
pass |
|
43 |
|
|
41 | 44 |
def toXml(self): |
42 | 45 |
# do not save |
43 | 46 |
return None |
DTI_PID/DTI_PID/Shapes/EngineeringLineItem.py | ||
---|---|---|
991 | 991 |
@author euisung |
992 | 992 |
@date 2019.04.01 |
993 | 993 |
''' |
994 |
from EngineeringAbstractItem import QEngineeringAbstractItem |
|
994 | 995 |
from SymbolSvgItem import SymbolSvgItem |
996 |
from EngineeringEquipmentItem import QEngineeringEquipmentItem |
|
995 | 997 |
from AppDocData import AppDocData |
996 | 998 |
errors = [] |
997 | 999 |
|
998 | 1000 |
try: |
1001 |
_translate = QCoreApplication.translate |
|
1002 |
|
|
999 | 1003 |
docdata = AppDocData.instance() |
1000 | 1004 |
dataPath = docdata.getErrorItemSvgPath() |
1001 |
origin = [int(pt) for pt in docdata.getAppConfigs('app', 'error origin point')[0].value.split(',')] |
|
1002 | 1005 |
needFlowCheck = True |
1003 | 1006 |
for connector in self.connectors: |
1007 |
# check if there is not connected connector |
|
1004 | 1008 |
if connector.connectedItem is None: |
1005 | 1009 |
error = SymbolSvgItem.createItem('Error', dataPath) |
1006 |
error.setPosition(connector.center(), origin)
|
|
1010 |
error.setPosition(connector.center()) |
|
1007 | 1011 |
error.parent = self |
1008 | 1012 |
error.msg = 'disconnected' |
1009 | 1013 |
error.setToolTip(error.msg) |
... | ... | |
1011 | 1015 |
error.name = 'Error' |
1012 | 1016 |
errors.append(error) |
1013 | 1017 |
needFlowCheck = False |
1018 |
# check if two items are connected each other |
|
1019 |
elif issubclass(type(connector.connectedItem), SymbolSvgItem) and type(connector.connectedItem) is QEngineeringEquipmentItem: |
|
1020 |
matches = [conn for conn in connector.connectedItem.connectors if conn.connectedItem is self] |
|
1021 |
if not matches: |
|
1022 |
error = SymbolSvgItem.createItem('Error', dataPath) |
|
1023 |
error.setPosition(connector.center()) |
|
1024 |
error.parent = self |
|
1025 |
error.msg = self.tr('disconnected') |
|
1026 |
error.setToolTip(error.msg) |
|
1027 |
error.area = 'Drawing' |
|
1028 |
error.name = 'Error' |
|
1029 |
errors.append(error) |
|
1030 |
# check if connected two lines has same direction |
|
1031 |
elif issubclass(type(connector.connectedItem), QEngineeringLineItem): |
|
1032 |
if connector._connected_at == QEngineeringAbstractItem.CONNECTED_AT_PT: |
|
1033 |
center = connector.center() |
|
1034 |
|
|
1035 |
indices = [0, 0] |
|
1036 |
indices[0] = 1 if QPointF(center[0], center[1]) == self.line().p1() else 2 |
|
1037 |
matches = [conn for conn in connector.connectedItem.connectors if conn.connectedItem == self and conn._connected_at == QEngineeringAbstractItem.CONNECTED_AT_PT] |
|
1038 |
if matches: |
|
1039 |
indices[1] = 1 if QPointF(matches[0].center()[0], matches[0].center()[1]) == connector.connectedItem.line().p1() else 2 |
|
1040 |
|
|
1041 |
if indices[0] == indices[1]: |
|
1042 |
error = SymbolSvgItem.createItem('Error', dataPath) |
|
1043 |
error.setPosition(connector.center()) |
|
1044 |
error.parent = self |
|
1045 |
error.msg = _translate('flow direction error', 'flow direction error') |
|
1046 |
error.setToolTip(error.msg) |
|
1047 |
error.area = 'Drawing' |
|
1048 |
error.name = 'Error' |
|
1049 |
errors.append(error) |
|
1050 |
|
|
1051 |
if self.lineType != connector.connectedItem.lineType: |
|
1052 |
error = SymbolSvgItem.createItem('Error', dataPath) |
|
1053 |
error.setPosition(connector.center()) |
|
1054 |
error.parent = self |
|
1055 |
error.msg = _translate('line type error', 'line type error') |
|
1056 |
error.setToolTip(error.msg) |
|
1057 |
error.area = 'Drawing' |
|
1058 |
error.name = 'Error' |
|
1059 |
errors.append(error) |
|
1060 |
|
|
1061 |
errors.extend(connector.validate()) |
|
1062 |
|
|
1014 | 1063 |
if needFlowCheck and type(self.connectors[0].connectedItem) is QEngineeringLineItem and type(self.connectors[1].connectedItem) is QEngineeringLineItem: |
1015 | 1064 |
pass |
1016 | 1065 |
|
DTI_PID/DTI_PID/Shapes/EngineeringSpecBreakItem.py | ||
---|---|---|
8 | 8 |
from PyQt5.QtSvg import * |
9 | 9 |
from PyQt5.QtWidgets import (QApplication, QGraphicsItem) |
10 | 10 |
|
11 |
from AppDocData import * |
|
12 | 11 |
from SymbolSvgItem import SymbolSvgItem |
13 | 12 |
from SymbolAttr import SymbolAttr |
14 | 13 |
from UserInputAttribute import UserInputAttribute |
15 | 14 |
from EngineeringConnectorItem import QEngineeringConnectorItem |
16 | 15 |
|
17 | 16 |
class QEngineeringSpecBreakItem(SymbolSvgItem): |
18 |
""" |
|
19 |
This is engineering specbreak item class |
|
20 |
""" |
|
17 |
""" This is engineering specbreak item class """ |
|
21 | 18 |
|
22 | 19 |
ZVALUE = 20 |
23 | 20 |
clicked = pyqtSignal(QGraphicsSvgItem) |
... | ... | |
63 | 60 |
euisung 2019.01.15 return self.attrs |
64 | 61 |
''' |
65 | 62 |
def getAttributes(self): |
66 |
""" |
|
67 |
attributes MUST have UpStream, DownStream attribute |
|
68 |
""" |
|
63 |
""" attributes MUST have UpStream, DownStream attribute """ |
|
69 | 64 |
return self.attrs |
70 | 65 |
|
71 |
''' |
|
72 |
@brief generate xml code for nozzle |
|
73 |
@author humkyung |
|
74 |
@date 2018.07.19 |
|
75 |
''' |
|
76 |
''' |
|
77 |
def toXml(self): |
|
78 |
from xml.etree.ElementTree import Element, SubElement, dump, ElementTree |
|
79 |
from EngineeringTextItem import QEngineeringTextItem |
|
80 |
from EngineeringSpecBreakItem import QEngineeringSpecBreakItem |
|
81 |
from SymbolAttr import SymbolAttr |
|
82 |
|
|
83 |
try: |
|
84 |
node = Element('SYMBOL') |
|
85 |
uidNode = Element('UID') |
|
86 |
uidNode.text = str(self.uid) |
|
87 |
node.append(uidNode) |
|
88 |
|
|
89 |
nameNode = Element('NAME') |
|
90 |
nameNode.text = self.name |
|
91 |
node.append(nameNode) |
|
92 |
|
|
93 |
typeNode = Element('TYPE') |
|
94 |
typeNode.text = self.type |
|
95 |
node.append(typeNode) |
|
96 |
|
|
97 |
# write owner's uid to xml |
|
98 |
if self.owner is not None: |
|
99 |
ownerNode = Element('OWNER') |
|
100 |
ownerNode.text = str(self.owner.uid) |
|
101 |
node.append(ownerNode) |
|
102 |
# up to here |
|
103 |
|
|
104 |
originNode = Element('ORIGINALPOINT') |
|
105 |
originNode.text = '{},{}'.format(self.origin[0], self.origin[1]) |
|
106 |
node.append(originNode) |
|
107 |
|
|
108 |
connectorsNode = Element('CONNECTORS') |
|
109 |
for connector in self.connectors: |
|
110 |
connectorNode = Element('CONNECTOR') |
|
111 |
connectedItemNode = Element('CONNECTEDITEM') |
|
112 |
connectedItemNode.text = str(connector.connectedItem.uid) if connector.connectedItem is not None else 'None' |
|
113 |
connectPointNode = Element('CONNECTPOINT') |
|
114 |
connectPointNode.text = str(connector.connectPoint[0]) + ',' + str(connector.connectPoint[1]) |
|
115 |
sceneConnectPointNode = Element('SCENECONNECTPOINT') |
|
116 |
sceneConnectPointNode.text = str(connector.sceneConnectPoint[0]) + ',' + str(connector.sceneConnectPoint[1]) |
|
117 |
|
|
118 |
connectorNode.append(connectedItemNode) |
|
119 |
connectorNode.append(connectPointNode) |
|
120 |
connectorNode.append(sceneConnectPointNode) |
|
121 |
connectorsNode.append(connectorNode) |
|
122 |
node.append(connectorsNode) |
내보내기 Unified diff