QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
qgsdxfexport_p.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsdxfexport_p.h
3  --------------
4  begin : November 2019
5  copyright : (C) 2019 by Matthias Kuhn
6  email : [email protected]
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 
19 #include "qgsvectorlayer.h"
20 #include "qgsexpressioncontext.h"
23 #include "qgsrenderer.h"
24 #include "qgsvectorlayerlabeling.h"
25 #include "qgslabelsink.h"
26 
32 {
33  DxfLayerJob( QgsVectorLayer *vl, const QString &layerStyleOverride, QgsRenderContext &renderContext, QgsDxfExport *dxfExport, const QString &splitLayerAttribute )
35  , styleOverride( vl )
36  , featureSource( vl )
37  , dxfExport( dxfExport )
38  , crs( vl->crs() )
39  , layerName( vl->name() )
41  , layerTitle( vl->title().isEmpty() ? vl->name() : vl->title() )
42  {
43  fields = vl->fields();
44  renderer.reset( vl->renderer()->clone() );
46 
47  if ( !layerStyleOverride.isNull() )
48  {
49  styleOverride.setOverrideStyle( layerStyleOverride );
50  }
51 
52  labeling.reset( vl->labelsEnabled() ? vl->labeling()->clone() : nullptr );
53 
54  attributes = renderer->usedAttributes( renderContext );
55  if ( !splitLayerAttribute.isNull() )
56  {
58  }
59 
60  if ( labeling )
61  {
63  if ( const QgsRuleBasedLabeling *rbl = dynamic_cast<const QgsRuleBasedLabeling *>( labeling.get() ) )
64  {
66  labelingEngine->addProvider( ruleBasedLabelProvider );
67 
69  {
70  labelingEngine->removeProvider( ruleBasedLabelProvider );
71  ruleBasedLabelProvider = nullptr;
72  }
73  }
74  else
75  {
76  QgsPalLayerSettings settings = labeling->settings();
77  labelProvider = new QgsLabelSinkProvider( vl, QString(), dxfExport, &settings );
78  labelingEngine->addProvider( labelProvider );
79 
81  {
82  labelingEngine->removeProvider( labelProvider );
83  labelProvider = nullptr;
84  }
85  }
86  }
87 
88  // This will need to be started in a separate thread, if threaded somewhere else to
89  renderer->startRender( renderContext, fields );
90  };
91 
96  std::unique_ptr< QgsFeatureRenderer > renderer;
97  std::unique_ptr<QgsAbstractVectorLayerLabeling> labeling;
98  QgsDxfExport *dxfExport = nullptr;
100  QString layerName;
104  QString layerTitle;
105  QSet<QString> attributes;
106 
107  private:
108  DxfLayerJob( const DxfLayerJob & ) = delete;
109  DxfLayerJob &operator=( const DxfLayerJob & ) = delete;
110 };
111 
112 // dxf color palette
113 static const int sDxfColors[][3] =
114 {
115  { 255, 255, 255 },
116  { 255, 0, 0 },
117  { 255, 255, 0 },
118  { 0, 255, 0 },
119  { 0, 255, 255 },
120  { 0, 0, 255 },
121  { 255, 0, 255 },
122  { 0, 0, 0 },
123  { 128, 128, 128 },
124  { 192, 192, 192 },
125  { 255, 0, 0 },
126  { 255, 127, 127 },
127  { 204, 0, 0 },
128  { 204, 102, 102 },
129  { 153, 0, 0 },
130  { 153, 76, 76 },
131  { 127, 0, 0 },
132  { 127, 63, 63 },
133  { 76, 0, 0 },
134  { 76, 38, 38 },
135  { 255, 63, 0 },
136  { 255, 159, 127 },
137  { 204, 51, 0 },
138  { 204, 127, 102 },
139  { 153, 38, 0 },
140  { 153, 95, 76 },
141  { 127, 31, 0 },
142  { 127, 79, 63 },
143  { 76, 19, 0 },
144  { 76, 47, 38 },
145  { 255, 127, 0 },
146  { 255, 191, 127 },
147  { 204, 102, 0 },
148  { 204, 153, 102 },
149  { 153, 76, 0 },
150  { 153, 114, 76 },
151  { 127, 63, 0 },
152  { 127, 95, 63 },
153  { 76, 38, 0 },
154  { 76, 57, 38 },
155  { 255, 191, 0 },
156  { 255, 223, 127 },
157  { 204, 153, 0 },
158  { 204, 178, 102 },
159  { 153, 114, 0 },
160  { 153, 133, 76 },
161  { 127, 95, 0 },
162  { 127, 111, 63 },
163  { 76, 57, 0 },
164  { 76, 66, 38 },
165  { 255, 255, 0 },
166  { 255, 255, 127 },
167  { 204, 204, 0 },
168  { 204, 204, 102 },
169  { 153, 153, 0 },
170  { 153, 153, 76 },
171  { 127, 127, 0 },
172  { 127, 127, 63 },
173  { 76, 76, 0 },
174  { 76, 76, 38 },
175  { 191, 255, 0 },
176  { 223, 255, 127 },
177  { 153, 204, 0 },
178  { 178, 204, 102 },
179  { 114, 153, 0 },
180  { 133, 153, 76 },
181  { 95, 127, 0 },
182  { 111, 127, 63 },
183  { 57, 76, 0 },
184  { 66, 76, 38 },
185  { 127, 255, 0 },
186  { 191, 255, 127 },
187  { 102, 204, 0 },
188  { 153, 204, 102 },
189  { 76, 153, 0 },
190  { 114, 153, 76 },
191  { 63, 127, 0 },
192  { 95, 127, 63 },
193  { 38, 76, 0 },
194  { 57, 76, 38 },
195  { 63, 255, 0 },
196  { 159, 255, 127 },
197  { 51, 204, 0 },
198  { 127, 204, 102 },
199  { 38, 153, 0 },
200  { 95, 153, 76 },
201  { 31, 127, 0 },
202  { 79, 127, 63 },
203  { 19, 76, 0 },
204  { 47, 76, 38 },
205  { 0, 255, 0 },
206  { 127, 255, 127 },
207  { 0, 204, 0 },
208  { 102, 204, 102 },
209  { 0, 153, 0 },
210  { 76, 153, 76 },
211  { 0, 127, 0 },
212  { 63, 127, 63 },
213  { 0, 76, 0 },
214  { 38, 76, 38 },
215  { 0, 255, 63 },
216  { 127, 255, 159 },
217  { 0, 204, 51 },
218  { 102, 204, 127 },
219  { 0, 153, 38 },
220  { 76, 153, 95 },
221  { 0, 127, 31 },
222  { 63, 127, 79 },
223  { 0, 76, 19 },
224  { 38, 76, 47 },
225  { 0, 255, 127 },
226  { 127, 255, 191 },
227  { 0, 204, 102 },
228  { 102, 204, 153 },
229  { 0, 153, 76 },
230  { 76, 153, 114 },
231  { 0, 127, 63 },
232  { 63, 127, 95 },
233  { 0, 76, 38 },
234  { 38, 76, 57 },
235  { 0, 255, 191 },
236  { 127, 255, 223 },
237  { 0, 204, 153 },
238  { 102, 204, 178 },
239  { 0, 153, 114 },
240  { 76, 153, 133 },
241  { 0, 127, 95 },
242  { 63, 127, 111 },
243  { 0, 76, 57 },
244  { 38, 76, 66 },
245  { 0, 255, 255 },
246  { 127, 255, 255 },
247  { 0, 204, 204 },
248  { 102, 204, 204 },
249  { 0, 153, 153 },
250  { 76, 153, 153 },
251  { 0, 127, 127 },
252  { 63, 127, 127 },
253  { 0, 76, 76 },
254  { 38, 76, 76 },
255  { 0, 191, 255 },
256  { 127, 223, 255 },
257  { 0, 153, 204 },
258  { 102, 178, 204 },
259  { 0, 114, 153 },
260  { 76, 133, 153 },
261  { 0, 95, 127 },
262  { 63, 111, 127 },
263  { 0, 57, 76 },
264  { 38, 66, 76 },
265  { 0, 127, 255 },
266  { 127, 191, 255 },
267  { 0, 102, 204 },
268  { 102, 153, 204 },
269  { 0, 76, 153 },
270  { 76, 114, 153 },
271  { 0, 63, 127 },
272  { 63, 95, 127 },
273  { 0, 38, 76 },
274  { 38, 57, 76 },
275  { 0, 63, 255 },
276  { 127, 159, 255 },
277  { 0, 51, 204 },
278  { 102, 127, 204 },
279  { 0, 38, 153 },
280  { 76, 95, 153 },
281  { 0, 31, 127 },
282  { 63, 79, 127 },
283  { 0, 19, 76 },
284  { 38, 47, 76 },
285  { 0, 0, 255 },
286  { 127, 127, 255 },
287  { 0, 0, 204 },
288  { 102, 102, 204 },
289  { 0, 0, 153 },
290  { 76, 76, 153 },
291  { 0, 0, 127 },
292  { 63, 63, 127 },
293  { 0, 0, 76 },
294  { 38, 38, 76 },
295  { 63, 0, 255 },
296  { 159, 127, 255 },
297  { 51, 0, 204 },
298  { 127, 102, 204 },
299  { 38, 0, 153 },
300  { 95, 76, 153 },
301  { 31, 0, 127 },
302  { 79, 63, 127 },
303  { 19, 0, 76 },
304  { 47, 38, 76 },
305  { 127, 0, 255 },
306  { 191, 127, 255 },
307  { 102, 0, 204 },
308  { 153, 102, 204 },
309  { 76, 0, 153 },
310  { 114, 76, 153 },
311  { 63, 0, 127 },
312  { 95, 63, 127 },
313  { 38, 0, 76 },
314  { 57, 38, 76 },
315  { 191, 0, 255 },
316  { 223, 127, 255 },
317  { 153, 0, 204 },
318  { 178, 102, 204 },
319  { 114, 0, 153 },
320  { 133, 76, 153 },
321  { 95, 0, 127 },
322  { 111, 63, 127 },
323  { 57, 0, 76 },
324  { 66, 38, 76 },
325  { 255, 0, 255 },
326  { 255, 127, 255 },
327  { 204, 0, 204 },
328  { 204, 102, 204 },
329  { 153, 0, 153 },
330  { 153, 76, 153 },
331  { 127, 0, 127 },
332  { 127, 63, 127 },
333  { 76, 0, 76 },
334  { 76, 38, 76 },
335  { 255, 0, 191 },
336  { 255, 127, 223 },
337  { 204, 0, 153 },
338  { 204, 102, 178 },
339  { 153, 0, 114 },
340  { 153, 76, 133 },
341  { 127, 0, 95 },
342  { 127, 63, 111 },
343  { 76, 0, 57 },
344  { 76, 38, 66 },
345  { 255, 0, 127 },
346  { 255, 127, 191 },
347  { 204, 0, 102 },
348  { 204, 102, 153 },
349  { 153, 0, 76 },
350  { 153, 76, 114 },
351  { 127, 0, 63 },
352  { 127, 63, 95 },
353  { 76, 0, 38 },
354  { 76, 38, 57 },
355  { 255, 0, 63 },
356  { 255, 127, 159 },
357  { 204, 0, 51 },
358  { 204, 102, 127 },
359  { 153, 0, 38 },
360  { 153, 76, 95 },
361  { 127, 0, 31 },
362  { 127, 63, 79 },
363  { 76, 0, 19 },
364  { 76, 38, 47 },
365  { 51, 51, 51 },
366  { 91, 91, 91 },
367  { 132, 132, 132 },
368  { 173, 173, 173 },
369  { 214, 214, 214 },
370  { 255, 255, 255 },
371 };
372 
373 static const char *DXF_ENCODINGS[][2] =
374 {
375  { "ASCII", "" },
376  { "8859_1", "ISO-8859-1" },
377  { "8859_2", "ISO-8859-2" },
378  { "8859_3", "ISO-8859-3" },
379  { "8859_4", "ISO-8859-4" },
380  { "8859_5", "ISO-8859-5" },
381  { "8859_6", "ISO-8859-6" },
382  { "8859_7", "ISO-8859-7" },
383  { "8859_8", "ISO-8859-8" },
384  { "8859_9", "ISO-8859-9" },
385 // { "DOS437", "" },
386  { "DOS850", "CP850" },
387 // { "DOS852", "" },
388 // { "DOS855", "" },
389 // { "DOS857", "" },
390 // { "DOS860", "" },
391 // { "DOS861", "" },
392 // { "DOS863", "" },
393 // { "DOS864", "" },
394 // { "DOS865", "" },
395 // { "DOS869", "" },
396 // { "DOS932", "" },
397  { "MACINTOSH", "MacRoman" },
398  { "BIG5", "Big5" },
399  { "KSC5601", "ksc5601.1987-0" },
400 // { "JOHAB", "" },
401  { "DOS866", "CP866" },
402  { "ANSI_1250", "CP1250" },
403  { "ANSI_1251", "CP1251" },
404  { "ANSI_1252", "CP1252" },
405  { "GB2312", "GB2312" },
406  { "ANSI_1253", "CP1253" },
407  { "ANSI_1254", "CP1254" },
408  { "ANSI_1255", "CP1255" },
409  { "ANSI_1256", "CP1256" },
410  { "ANSI_1257", "CP1257" },
411  { "ANSI_874", "CP874" },
412  { "ANSI_932", "Shift_JIS" },
413  { "ANSI_936", "CP936" },
414  { "ANSI_949", "CP949" },
415  { "ANSI_949", "ms949" },
416  { "ANSI_950", "CP950" },
417 // { "ANSI_1361", "" },
418 // { "ANSI_1200", "" },
419  { "ANSI_1258", "CP1258" },
420 };
421 
422 // From GDAL trailer.dxf
423 #define DXF_TRAILER "\
424 0\n\
425 SECTION\n\
426 2\n\
427 OBJECTS\n\
428 0\n\
429 DICTIONARY\n\
430 5\n\
431 C\n\
432 330\n\
433 0\n\
434 100\n\
435 AcDbDictionary\n\
436 281\n\
437  1\n\
438 3\n\
439 ACAD_GROUP\n\
440 350\n\
441 D\n\
442 3\n\
443 ACAD_LAYOUT\n\
444 350\n\
445 1A\n\
446 3\n\
447 ACAD_MLEADERSTYLE\n\
448 350\n\
449 43\n\
450 3\n\
451 ACAD_MLINESTYLE\n\
452 350\n\
453 17\n\
454 3\n\
455 ACAD_PLOTSETTINGS\n\
456 350\n\
457 19\n\
458 3\n\
459 ACAD_PLOTSTYLENAME\n\
460 350\n\
461 E\n\
462 3\n\
463 ACAD_TABLESTYLE\n\
464 350\n\
465 42\n\
466 3\n\
467 ACAD_VISUALSTYLE\n\
468 350\n\
469 2A\n\
470 0\n\
471 DICTIONARY\n\
472 5\n\
473 D\n\
474 102\n\
475 {ACAD_REACTORS\n\
476 330\n\
477 C\n\
478 102\n\
479 }\n\
480 330\n\
481 C\n\
482 100\n\
483 AcDbDictionary\n\
484 281\n\
485  1\n\
486 0\n\
487 DICTIONARY\n\
488 5\n\
489 1A\n\
490 102\n\
491 {ACAD_REACTORS\n\
492 330\n\
493 C\n\
494 102\n\
495 }\n\
496 330\n\
497 C\n\
498 100\n\
499 AcDbDictionary\n\
500 281\n\
501  1\n\
502 3\n\
503 Layout1\n\
504 350\n\
505 1E\n\
506 3\n\
507 Layout2\n\
508 350\n\
509 26\n\
510 3\n\
511 Model\n\
512 350\n\
513 22\n\
514 0\n\
515 DICTIONARY\n\
516 5\n\
517 43\n\
518 102\n\
519 {ACAD_REACTORS\n\
520 330\n\
521 C\n\
522 102\n\
523 }\n\
524 330\n\
525 C\n\
526 100\n\
527 AcDbDictionary\n\
528 281\n\
529  1\n\
530 0\n\
531 DICTIONARY\n\
532 5\n\
533 17\n\
534 102\n\
535 {ACAD_REACTORS\n\
536 330\n\
537 C\n\
538 102\n\
539 }\n\
540 330\n\
541 C\n\
542 100\n\
543 AcDbDictionary\n\
544 281\n\
545  1\n\
546 3\n\
547 Standard\n\
548 350\n\
549 18\n\
550 0\n\
551 DICTIONARY\n\
552 5\n\
553 19\n\
554 102\n\
555 {ACAD_REACTORS\n\
556 330\n\
557 C\n\
558 102\n\
559 }\n\
560 330\n\
561 C\n\
562 100\n\
563 AcDbDictionary\n\
564 281\n\
565  1\n\
566 0\n\
567 ACDBDICTIONARYWDFLT\n\
568 5\n\
569 E\n\
570 102\n\
571 {ACAD_REACTORS\n\
572 330\n\
573 C\n\
574 102\n\
575 }\n\
576 330\n\
577 C\n\
578 100\n\
579 AcDbDictionary\n\
580 281\n\
581  1\n\
582 3\n\
583 Normal\n\
584 350\n\
585 F\n\
586 100\n\
587 AcDbDictionaryWithDefault\n\
588 340\n\
589 F\n\
590 0\n\
591 DICTIONARY\n\
592 5\n\
593 42\n\
594 102\n\
595 {ACAD_REACTORS\n\
596 330\n\
597 C\n\
598 102\n\
599 }\n\
600 330\n\
601 C\n\
602 100\n\
603 AcDbDictionary\n\
604 281\n\
605  1\n\
606 0\n\
607 DICTIONARY\n\
608 5\n\
609 2A\n\
610 102\n\
611 {ACAD_REACTORS\n\
612 330\n\
613 C\n\
614 102\n\
615 }\n\
616 330\n\
617 C\n\
618 100\n\
619 AcDbDictionary\n\
620 281\n\
621  1\n\
622 3\n\
623 2dWireframe\n\
624 350\n\
625 2F\n\
626 3\n\
627 3D Hidden\n\
628 350\n\
629 31\n\
630 3\n\
631 3dWireframe\n\
632 350\n\
633 30\n\
634 3\n\
635 Basic\n\
636 350\n\
637 32\n\
638 3\n\
639 Brighten\n\
640 350\n\
641 36\n\
642 3\n\
643 ColorChange\n\
644 350\n\
645 3A\n\
646 3\n\
647 Conceptual\n\
648 350\n\
649 34\n\
650 3\n\
651 Dim\n\
652 350\n\
653 35\n\
654 3\n\
655 Facepattern\n\
656 350\n\
657 39\n\
658 3\n\
659 Flat\n\
660 350\n\
661 2B\n\
662 3\n\
663 FlatWithEdges\n\
664 350\n\
665 2C\n\
666 3\n\
667 Gouraud\n\
668 350\n\
669 2D\n\
670 3\n\
671 GouraudWithEdges\n\
672 350\n\
673 2E\n\
674 3\n\
675 Linepattern\n\
676 350\n\
677 38\n\
678 3\n\
679 Realistic\n\
680 350\n\
681 33\n\
682 3\n\
683 Thicken\n\
684 350\n\
685 37\n\
686 0\n\
687 LAYOUT\n\
688 5\n\
689 1E\n\
690 102\n\
691 {ACAD_REACTORS\n\
692 330\n\
693 1A\n\
694 102\n\
695 }\n\
696 330\n\
697 1A\n\
698 100\n\
699 AcDbPlotSettings\n\
700 1\n\
701 \n\
702 2\n\
703 none_device\n\
704 4\n\
705 \n\
706 6\n\
707 \n\
708 40\n\
709 0.0\n\
710 41\n\
711 0.0\n\
712 42\n\
713 0.0\n\
714 43\n\
715 0.0\n\
716 44\n\
717 0.0\n\
718 45\n\
719 0.0\n\
720 46\n\
721 0.0\n\
722 47\n\
723 0.0\n\
724 48\n\
725 0.0\n\
726 49\n\
727 0.0\n\
728 140\n\
729 0.0\n\
730 141\n\
731 0.0\n\
732 142\n\
733 1.0\n\
734 143\n\
735 1.0\n\
736 70\n\
737  688\n\
738 72\n\
739  0\n\
740 73\n\
741  0\n\
742 74\n\
743  5\n\
744 7\n\
745 \n\
746 75\n\
747  16\n\
748 76\n\
749  0\n\
750 77\n\
751  2\n\
752 78\n\
753  300\n\
754 147\n\
755 1.0\n\
756 148\n\
757 0.0\n\
758 149\n\
759 0.0\n\
760 100\n\
761 AcDbLayout\n\
762 1\n\
763 Layout1\n\
764 70\n\
765  1\n\
766 71\n\
767  1\n\
768 10\n\
769 0.0\n\
770 20\n\
771 0.0\n\
772 11\n\
773 12.0\n\
774 21\n\
775 9.0\n\
776 12\n\
777 0.0\n\
778 22\n\
779 0.0\n\
780 32\n\
781 0.0\n\
782 14\n\
783 1.000000000000000E+20\n\
784 24\n\
785 1.000000000000000E+20\n\
786 34\n\
787 1.000000000000000E+20\n\
788 15\n\
789 -1.000000000000000E+20\n\
790 25\n\
791 -1.000000000000000E+20\n\
792 35\n\
793 -1.000000000000000E+20\n\
794 146\n\
795 0.0\n\
796 13\n\
797 0.0\n\
798 23\n\
799 0.0\n\
800 33\n\
801 0.0\n\
802 16\n\
803 1.0\n\
804 26\n\
805 0.0\n\
806 36\n\
807 0.0\n\
808 17\n\
809 0.0\n\
810 27\n\
811 1.0\n\
812 37\n\
813 0.0\n\
814 76\n\
815  0\n\
816 330\n\
817 1B\n\
818 0\n\
819 LAYOUT\n\
820 5\n\
821 26\n\
822 102\n\
823 {ACAD_REACTORS\n\
824 330\n\
825 1A\n\
826 102\n\
827 }\n\
828 330\n\
829 1A\n\
830 100\n\
831 AcDbPlotSettings\n\
832 1\n\
833 \n\
834 2\n\
835 none_device\n\
836 4\n\
837 \n\
838 6\n\
839 \n\
840 40\n\
841 0.0\n\
842 41\n\
843 0.0\n\
844 42\n\
845 0.0\n\
846 43\n\
847 0.0\n\
848 44\n\
849 0.0\n\
850 45\n\
851 0.0\n\
852 46\n\
853 0.0\n\
854 47\n\
855 0.0\n\
856 48\n\
857 0.0\n\
858 49\n\
859 0.0\n\
860 140\n\
861 0.0\n\
862 141\n\
863 0.0\n\
864 142\n\
865 1.0\n\
866 143\n\
867 1.0\n\
868 70\n\
869  688\n\
870 72\n\
871  0\n\
872 73\n\
873  0\n\
874 74\n\
875  5\n\
876 7\n\
877 \n\
878 75\n\
879  16\n\
880 76\n\
881  0\n\
882 77\n\
883  2\n\
884 78\n\
885  300\n\
886 147\n\
887 1.0\n\
888 148\n\
889 0.0\n\
890 149\n\
891 0.0\n\
892 100\n\
893 AcDbLayout\n\
894 1\n\
895 Layout2\n\
896 70\n\
897  1\n\
898 71\n\
899  2\n\
900 10\n\
901 0.0\n\
902 20\n\
903 0.0\n\
904 11\n\
905 0.0\n\
906 21\n\
907 0.0\n\
908 12\n\
909 0.0\n\
910 22\n\
911 0.0\n\
912 32\n\
913 0.0\n\
914 14\n\
915 0.0\n\
916 24\n\
917 0.0\n\
918 34\n\
919 0.0\n\
920 15\n\
921 0.0\n\
922 25\n\
923 0.0\n\
924 35\n\
925 0.0\n\
926 146\n\
927 0.0\n\
928 13\n\
929 0.0\n\
930 23\n\
931 0.0\n\
932 33\n\
933 0.0\n\
934 16\n\
935 1.0\n\
936 26\n\
937 0.0\n\
938 36\n\
939 0.0\n\
940 17\n\
941 0.0\n\
942 27\n\
943 1.0\n\
944 37\n\
945 0.0\n\
946 76\n\
947  0\n\
948 330\n\
949 23\n\
950 0\n\
951 LAYOUT\n\
952 5\n\
953 22\n\
954 102\n\
955 {ACAD_REACTORS\n\
956 330\n\
957 1A\n\
958 102\n\
959 }\n\
960 330\n\
961 1A\n\
962 100\n\
963 AcDbPlotSettings\n\
964 1\n\
965 \n\
966 2\n\
967 none_device\n\
968 4\n\
969 \n\
970 6\n\
971 \n\
972 40\n\
973 0.0\n\
974 41\n\
975 0.0\n\
976 42\n\
977 0.0\n\
978 43\n\
979 0.0\n\
980 44\n\
981 0.0\n\
982 45\n\
983 0.0\n\
984 46\n\
985 0.0\n\
986 47\n\
987 0.0\n\
988 48\n\
989 0.0\n\
990 49\n\
991 0.0\n\
992 140\n\
993 0.0\n\
994 141\n\
995 0.0\n\
996 142\n\
997 1.0\n\
998 143\n\
999 1.0\n\
1000 70\n\
1001 1712\n\
1002 72\n\
1003  0\n\
1004 73\n\
1005  0\n\
1006 74\n\
1007  0\n\
1008 7\n\
1009 \n\
1010 75\n\
1011  0\n\
1012 76\n\
1013  0\n\
1014 77\n\
1015  2\n\
1016 78\n\
1017  300\n\
1018 147\n\
1019 1.0\n\
1020 148\n\
1021 0.0\n\
1022 149\n\
1023 0.0\n\
1024 100\n\
1025 AcDbLayout\n\
1026 1\n\
1027 Model\n\
1028 70\n\
1029  1\n\
1030 71\n\
1031  0\n\
1032 10\n\
1033 0.0\n\
1034 20\n\
1035 0.0\n\
1036 11\n\
1037 12.0\n\
1038 21\n\
1039 9.0\n\
1040 12\n\
1041 0.0\n\
1042 22\n\
1043 0.0\n\
1044 32\n\
1045 0.0\n\
1046 14\n\
1047 30.0\n\
1048 24\n\
1049 49.75\n\
1050 34\n\
1051 0.0\n\
1052 15\n\
1053 130.5\n\
1054 25\n\
1055 163.1318914119703\n\
1056 35\n\
1057 0.0\n\
1058 146\n\
1059 0.0\n\
1060 13\n\
1061 0.0\n\
1062 23\n\
1063 0.0\n\
1064 33\n\
1065 0.0\n\
1066 16\n\
1067 1.0\n\
1068 26\n\
1069 0.0\n\
1070 36\n\
1071 0.0\n\
1072 17\n\
1073 0.0\n\
1074 27\n\
1075 1.0\n\
1076 37\n\
1077 0.0\n\
1078 76\n\
1079  0\n\
1080 330\n\
1081 1F\n\
1082 331\n\
1083 29\n\
1084 0\n\
1085 MLINESTYLE\n\
1086 5\n\
1087 18\n\
1088 102\n\
1089 {ACAD_REACTORS\n\
1090 330\n\
1091 17\n\
1092 102\n\
1093 }\n\
1094 330\n\
1095 17\n\
1096 100\n\
1097 AcDbMlineStyle\n\
1098 2\n\
1099 Standard\n\
1100 70\n\
1101  0\n\
1102 3\n\
1103 \n\
1104 62\n\
1105  256\n\
1106 51\n\
1107 90.0\n\
1108 52\n\
1109 90.0\n\
1110 71\n\
1111  2\n\
1112 49\n\
1113 0.5\n\
1114 62\n\
1115  256\n\
1116 6\n\
1117 BYLAYER\n\
1118 49\n\
1119 -0.5\n\
1120 62\n\
1121  256\n\
1122 6\n\
1123 BYLAYER\n\
1124 0\n\
1125 ACDBPLACEHOLDER\n\
1126 5\n\
1127 F\n\
1128 102\n\
1129 {ACAD_REACTORS\n\
1130 330\n\
1131 E\n\
1132 102\n\
1133 }\n\
1134 330\n\
1135 E\n\
1136 0\n\
1137 VISUALSTYLE\n\
1138 5\n\
1139 2F\n\
1140 102\n\
1141 {ACAD_REACTORS\n\
1142 330\n\
1143 2A\n\
1144 102\n\
1145 }\n\
1146 330\n\
1147 2A\n\
1148 100\n\
1149 AcDbVisualStyle\n\
1150 2\n\
1151 2dWireframe\n\
1152 70\n\
1153  4\n\
1154 71\n\
1155  0\n\
1156 72\n\
1157  2\n\
1158 73\n\
1159  0\n\
1160 90\n\
1161  0\n\
1162 40\n\
1163 -0.6\n\
1164 41\n\
1165 -30.0\n\
1166 62\n\
1167  5\n\
1168 63\n\
1169  7\n\
1170 421\n\
1171 16777215\n\
1172 74\n\
1173  1\n\
1174 91\n\
1175  4\n\
1176 64\n\
1177  7\n\
1178 65\n\
1179  257\n\
1180 75\n\
1181  1\n\
1182 175\n\
1183  1\n\
1184 42\n\
1185 1.0\n\
1186 92\n\
1187  0\n\
1188 66\n\
1189  257\n\
1190 43\n\
1191 1.0\n\
1192 76\n\
1193  1\n\
1194 77\n\
1195  6\n\
1196 78\n\
1197  2\n\
1198 67\n\
1199  7\n\
1200 79\n\
1201  5\n\
1202 170\n\
1203  0\n\
1204 171\n\
1205  0\n\
1206 290\n\
1207  0\n\
1208 174\n\
1209  0\n\
1210 93\n\
1211  1\n\
1212 44\n\
1213 0.0\n\
1214 173\n\
1215  0\n\
1216 291\n\
1217  0\n\
1218 45\n\
1219 0.0\n\
1220 1001\n\
1221 ACAD\n\
1222 1000\n\
1223 AcDbSavedByObjectVersion\n\
1224 1070\n\
1225  0\n\
1226 0\n\
1227 VISUALSTYLE\n\
1228 5\n\
1229 31\n\
1230 102\n\
1231 {ACAD_REACTORS\n\
1232 330\n\
1233 2A\n\
1234 102\n\
1235 }\n\
1236 330\n\
1237 2A\n\
1238 100\n\
1239 AcDbVisualStyle\n\
1240 2\n\
1241 3D Hidden\n\
1242 70\n\
1243  6\n\
1244 71\n\
1245  1\n\
1246 72\n\
1247  2\n\
1248 73\n\
1249  2\n\
1250 90\n\
1251  0\n\
1252 40\n\
1253 -0.6\n\
1254 41\n\
1255 -30.0\n\
1256 62\n\
1257  5\n\
1258 63\n\
1259  7\n\
1260 421\n\
1261 16777215\n\
1262 74\n\
1263  2\n\
1264 91\n\
1265  2\n\
1266 64\n\
1267  7\n\
1268 65\n\
1269  257\n\
1270 75\n\
1271  2\n\
1272 175\n\
1273  1\n\
1274 42\n\
1275 40.0\n\
1276 92\n\
1277  0\n\
1278 66\n\
1279  257\n\
1280 43\n\
1281 1.0\n\
1282 76\n\
1283  1\n\
1284 77\n\
1285  6\n\
1286 78\n\
1287  2\n\
1288 67\n\
1289  7\n\
1290 79\n\
1291  3\n\
1292 170\n\
1293  0\n\
1294 171\n\
1295  0\n\
1296 290\n\
1297  0\n\
1298 174\n\
1299  0\n\
1300 93\n\
1301  1\n\
1302 44\n\
1303 0.0\n\
1304 173\n\
1305  0\n\
1306 291\n\
1307  0\n\
1308 45\n\
1309 0.0\n\
1310 1001\n\
1311 ACAD\n\
1312 1000\n\
1313 AcDbSavedByObjectVersion\n\
1314 1070\n\
1315  0\n\
1316 0\n\
1317 VISUALSTYLE\n\
1318 5\n\
1319 30\n\
1320 102\n\
1321 {ACAD_REACTORS\n\
1322 330\n\
1323 2A\n\
1324 102\n\
1325 }\n\
1326 330\n\
1327 2A\n\
1328 100\n\
1329 AcDbVisualStyle\n\
1330 2\n\
1331 3dWireframe\n\
1332 70\n\
1333  5\n\
1334 71\n\
1335  0\n\
1336 72\n\
1337  2\n\
1338 73\n\
1339  0\n\
1340 90\n\
1341  0\n\
1342 40\n\
1343 -0.6\n\
1344 41\n\
1345 -30.0\n\
1346 62\n\
1347  5\n\
1348 63\n\
1349  7\n\
1350 421\n\
1351 16777215\n\
1352 74\n\
1353  1\n\
1354 91\n\
1355  4\n\
1356 64\n\
1357  7\n\
1358 65\n\
1359  257\n\
1360 75\n\
1361  1\n\
1362 175\n\
1363  1\n\
1364 42\n\
1365 1.0\n\
1366 92\n\
1367  0\n\
1368 66\n\
1369  257\n\
1370 43\n\
1371 1.0\n\
1372 76\n\
1373  1\n\
1374 77\n\
1375  6\n\
1376 78\n\
1377  2\n\
1378 67\n\
1379  7\n\
1380 79\n\
1381  5\n\
1382 170\n\
1383  0\n\
1384 171\n\
1385  0\n\
1386 290\n\
1387  0\n\
1388 174\n\
1389  0\n\
1390 93\n\
1391  1\n\
1392 44\n\
1393 0.0\n\
1394 173\n\
1395  0\n\
1396 291\n\
1397  0\n\
1398 45\n\
1399 0.0\n\
1400 1001\n\
1401 ACAD\n\
1402 1000\n\
1403 AcDbSavedByObjectVersion\n\
1404 1070\n\
1405  0\n\
1406 0\n\
1407 VISUALSTYLE\n\
1408 5\n\
1409 32\n\
1410 102\n\
1411 {ACAD_REACTORS\n\
1412 330\n\
1413 2A\n\
1414 102\n\
1415 }\n\
1416 330\n\
1417 2A\n\
1418 100\n\
1419 AcDbVisualStyle\n\
1420 2\n\
1421 Basic\n\
1422 70\n\
1423  7\n\
1424 71\n\
1425  1\n\
1426 72\n\
1427  0\n\
1428 73\n\
1429  1\n\
1430 90\n\
1431  0\n\
1432 40\n\
1433 -0.6\n\
1434 41\n\
1435 -30.0\n\
1436 62\n\
1437  5\n\
1438 63\n\
1439  7\n\
1440 421\n\
1441 16777215\n\
1442 74\n\
1443  0\n\
1444 91\n\
1445  4\n\
1446 64\n\
1447  7\n\
1448 65\n\
1449  257\n\
1450 75\n\
1451  1\n\
1452 175\n\
1453  1\n\
1454 42\n\
1455 1.0\n\
1456 92\n\
1457  8\n\
1458 66\n\
1459  7\n\
1460 43\n\
1461 1.0\n\
1462 76\n\
1463  1\n\
1464 77\n\
1465  6\n\
1466 78\n\
1467  2\n\
1468 67\n\
1469  7\n\
1470 79\n\
1471  5\n\
1472 170\n\
1473  0\n\
1474 171\n\
1475  0\n\
1476 290\n\
1477  0\n\
1478 174\n\
1479  0\n\
1480 93\n\
1481  1\n\
1482 44\n\
1483 0.0\n\
1484 173\n\
1485  0\n\
1486 291\n\
1487  1\n\
1488 45\n\
1489 0.0\n\
1490 1001\n\
1491 ACAD\n\
1492 1000\n\
1493 AcDbSavedByObjectVersion\n\
1494 1070\n\
1495  0\n\
1496 0\n\
1497 VISUALSTYLE\n\
1498 5\n\
1499 36\n\
1500 102\n\
1501 {ACAD_REACTORS\n\
1502 330\n\
1503 2A\n\
1504 102\n\
1505 }\n\
1506 330\n\
1507 2A\n\
1508 100\n\
1509 AcDbVisualStyle\n\
1510 2\n\
1511 Brighten\n\
1512 70\n\
1513  12\n\
1514 71\n\
1515  2\n\
1516 72\n\
1517  2\n\
1518 73\n\
1519  0\n\
1520 90\n\
1521  0\n\
1522 40\n\
1523 -0.6\n\
1524 41\n\
1525 -30.0\n\
1526 62\n\
1527  5\n\
1528 63\n\
1529  7\n\
1530 421\n\
1531 16777215\n\
1532 74\n\
1533  1\n\
1534 91\n\
1535  4\n\
1536 64\n\
1537  7\n\
1538 65\n\
1539  257\n\
1540 75\n\
1541  1\n\
1542 175\n\
1543  1\n\
1544 42\n\
1545 1.0\n\
1546 92\n\
1547  8\n\
1548 66\n\
1549  7\n\
1550 43\n\
1551 1.0\n\
1552 76\n\
1553  1\n\
1554 77\n\
1555  6\n\
1556 78\n\
1557  2\n\
1558 67\n\
1559  7\n\
1560 79\n\
1561  5\n\
1562 170\n\
1563  0\n\
1564 171\n\
1565  0\n\
1566 290\n\
1567  0\n\
1568 174\n\
1569  0\n\
1570 93\n\
1571  1\n\
1572 44\n\
1573 50.0\n\
1574 173\n\
1575  0\n\
1576 291\n\
1577  1\n\
1578 45\n\
1579 0.0\n\
1580 1001\n\
1581 ACAD\n\
1582 1000\n\
1583 AcDbSavedByObjectVersion\n\
1584 1070\n\
1585  0\n\
1586 0\n\
1587 VISUALSTYLE\n\
1588 5\n\
1589 3A\n\
1590 102\n\
1591 {ACAD_REACTORS\n\
1592 330\n\
1593 2A\n\
1594 102\n\
1595 }\n\
1596 330\n\
1597 2A\n\
1598 100\n\
1599 AcDbVisualStyle\n\
1600 2\n\
1601 ColorChange\n\
1602 70\n\
1603  16\n\
1604 71\n\
1605  2\n\
1606 72\n\
1607  2\n\
1608 73\n\
1609  3\n\
1610 90\n\
1611  0\n\
1612 40\n\
1613 -0.6\n\
1614 41\n\
1615 -30.0\n\
1616 62\n\
1617  5\n\
1618 63\n\
1619  8\n\
1620 421\n\
1621 8421504\n\
1622 74\n\
1623  1\n\
1624 91\n\
1625  4\n\
1626 64\n\
1627  7\n\
1628 65\n\
1629  257\n\
1630 75\n\
1631  1\n\
1632 175\n\
1633  1\n\
1634 42\n\
1635 1.0\n\
1636 92\n\
1637  8\n\
1638 66\n\
1639  8\n\
1640 424\n\
1641 8421504\n\
1642 43\n\
1643 1.0\n\
1644 76\n\
1645  1\n\
1646 77\n\
1647  6\n\
1648 78\n\
1649  2\n\
1650 67\n\
1651  7\n\
1652 79\n\
1653  5\n\
1654 170\n\
1655  0\n\
1656 171\n\
1657  0\n\
1658 290\n\
1659  0\n\
1660 174\n\
1661  0\n\
1662 93\n\
1663  1\n\
1664 44\n\
1665 0.0\n\
1666 173\n\
1667  0\n\
1668 291\n\
1669  1\n\
1670 45\n\
1671 0.0\n\
1672 1001\n\
1673 ACAD\n\
1674 1000\n\
1675 AcDbSavedByObjectVersion\n\
1676 1070\n\
1677  0\n\
1678 0\n\
1679 VISUALSTYLE\n\
1680 5\n\
1681 34\n\
1682 102\n\
1683 {ACAD_REACTORS\n\
1684 330\n\
1685 2A\n\
1686 102\n\
1687 }\n\
1688 330\n\
1689 2A\n\
1690 100\n\
1691 AcDbVisualStyle\n\
1692 2\n\
1693 Conceptual\n\
1694 70\n\
1695  9\n\
1696 71\n\
1697  3\n\
1698 72\n\
1699  2\n\
1700 73\n\
1701  0\n\
1702 90\n\
1703  0\n\
1704 40\n\
1705 -0.6\n\
1706 41\n\
1707 -30.0\n\
1708 62\n\
1709  5\n\
1710 63\n\
1711  7\n\
1712 421\n\
1713 16777215\n\
1714 74\n\
1715  2\n\
1716 91\n\
1717  2\n\
1718 64\n\
1719  7\n\
1720 65\n\
1721  257\n\
1722 75\n\
1723  1\n\
1724 175\n\
1725  1\n\
1726 42\n\
1727 40.0\n\
1728 92\n\
1729  8\n\
1730 66\n\
1731  7\n\
1732 43\n\
1733 1.0\n\
1734 76\n\
1735  1\n\
1736 77\n\
1737  6\n\
1738 78\n\
1739  2\n\
1740 67\n\
1741  7\n\
1742 79\n\
1743  3\n\
1744 170\n\
1745  0\n\
1746 171\n\
1747  0\n\
1748 290\n\
1749  0\n\
1750 174\n\
1751  0\n\
1752 93\n\
1753  1\n\
1754 44\n\
1755 0.0\n\
1756 173\n\
1757  0\n\
1758 291\n\
1759  0\n\
1760 45\n\
1761 0.0\n\
1762 1001\n\
1763 ACAD\n\
1764 1000\n\
1765 AcDbSavedByObjectVersion\n\
1766 1070\n\
1767  0\n\
1768 0\n\
1769 VISUALSTYLE\n\
1770 5\n\
1771 35\n\
1772 102\n\
1773 {ACAD_REACTORS\n\
1774 330\n\
1775 2A\n\
1776 102\n\
1777 }\n\
1778 330\n\
1779 2A\n\
1780 100\n\
1781 AcDbVisualStyle\n\
1782 2\n\
1783 Dim\n\
1784 70\n\
1785  11\n\
1786 71\n\
1787  2\n\
1788 72\n\
1789  2\n\
1790 73\n\
1791  0\n\
1792 90\n\
1793  0\n\
1794 40\n\
1795 -0.6\n\
1796 41\n\
1797 -30.0\n\
1798 62\n\
1799  5\n\
1800 63\n\
1801  7\n\
1802 421\n\
1803 16777215\n\
1804 74\n\
1805  1\n\
1806 91\n\
1807  4\n\
1808 64\n\
1809  7\n\
1810 65\n\
1811  257\n\
1812 75\n\
1813  1\n\
1814 175\n\
1815  1\n\
1816 42\n\
1817 1.0\n\
1818 92\n\
1819  8\n\
1820 66\n\
1821  7\n\
1822 43\n\
1823 1.0\n\
1824 76\n\
1825  1\n\
1826 77\n\
1827  6\n\
1828 78\n\
1829  2\n\
1830 67\n\
1831  7\n\
1832 79\n\
1833  5\n\
1834 170\n\
1835  0\n\
1836 171\n\
1837  0\n\
1838 290\n\
1839  0\n\
1840 174\n\
1841  0\n\
1842 93\n\
1843  1\n\
1844 44\n\
1845 -50.0\n\
1846 173\n\
1847  0\n\
1848 291\n\
1849  1\n\
1850 45\n\
1851 0.0\n\
1852 1001\n\
1853 ACAD\n\
1854 1000\n\
1855 AcDbSavedByObjectVersion\n\
1856 1070\n\
1857  0\n\
1858 0\n\
1859 VISUALSTYLE\n\
1860 5\n\
1861 39\n\
1862 102\n\
1863 {ACAD_REACTORS\n\
1864 330\n\
1865 2A\n\
1866 102\n\
1867 }\n\
1868 330\n\
1869 2A\n\
1870 100\n\
1871 AcDbVisualStyle\n\
1872 2\n\
1873 Facepattern\n\
1874 70\n\
1875  15\n\
1876 71\n\
1877  2\n\
1878 72\n\
1879  2\n\
1880 73\n\
1881  0\n\
1882 90\n\
1883  0\n\
1884 40\n\
1885 -0.6\n\
1886 41\n\
1887 -30.0\n\
1888 62\n\
1889  5\n\
1890 63\n\
1891  7\n\
1892 421\n\
1893 16777215\n\
1894 74\n\
1895  1\n\
1896 91\n\
1897  4\n\
1898 64\n\
1899  7\n\
1900 65\n\
1901  257\n\
1902 75\n\
1903  1\n\
1904 175\n\
1905  1\n\
1906 42\n\
1907 1.0\n\
1908 92\n\
1909  8\n\
1910 66\n\
1911  7\n\
1912 43\n\
1913 1.0\n\
1914 76\n\
1915  1\n\
1916 77\n\
1917  6\n\
1918 78\n\
1919  2\n\
1920 67\n\
1921  7\n\
1922 79\n\
1923  5\n\
1924 170\n\
1925  0\n\
1926 171\n\
1927  0\n\
1928 290\n\
1929  0\n\
1930 174\n\
1931  0\n\
1932 93\n\
1933  1\n\
1934 44\n\
1935 0.0\n\
1936 173\n\
1937  0\n\
1938 291\n\
1939  1\n\
1940 45\n\
1941 0.0\n\
1942 1001\n\
1943 ACAD\n\
1944 1000\n\
1945 AcDbSavedByObjectVersion\n\
1946 1070\n\
1947  0\n\
1948 0\n\
1949 VISUALSTYLE\n\
1950 5\n\
1951 2B\n\
1952 102\n\
1953 {ACAD_REACTORS\n\
1954 330\n\
1955 2A\n\
1956 102\n\
1957 }\n\
1958 330\n\
1959 2A\n\
1960 100\n\
1961 AcDbVisualStyle\n\
1962 2\n\
1963 Flat\n\
1964 70\n\
1965  0\n\
1966 71\n\
1967  2\n\
1968 72\n\
1969  1\n\
1970 73\n\
1971  1\n\
1972 90\n\
1973  2\n\
1974 40\n\
1975 -0.6\n\
1976 41\n\
1977 30.0\n\
1978 62\n\
1979  5\n\
1980 63\n\
1981  7\n\
1982 421\n\
1983 16777215\n\
1984 74\n\
1985  0\n\
1986 91\n\
1987  4\n\
1988 64\n\
1989  7\n\
1990 65\n\
1991  257\n\
1992 75\n\
1993  1\n\
1994 175\n\
1995  1\n\
1996 42\n\
1997 1.0\n\
1998 92\n\
1999  8\n\
2000 66\n\
2001  7\n\
2002 43\n\
2003 1.0\n\
2004 76\n\
2005  1\n\
2006 77\n\
2007  6\n\
2008 78\n\
2009  2\n\
2010 67\n\
2011  7\n\
2012 79\n\
2013  5\n\
2014 170\n\
2015  0\n\
2016 171\n\
2017  0\n\
2018 290\n\
2019  0\n\
2020 174\n\
2021  0\n\
2022 93\n\
2023  13\n\
2024 44\n\
2025 0.0\n\
2026 173\n\
2027  0\n\
2028 291\n\
2029  1\n\
2030 45\n\
2031 0.0\n\
2032 1001\n\
2033 ACAD\n\
2034 1000\n\
2035 AcDbSavedByObjectVersion\n\
2036 1070\n\
2037  0\n\
2038 0\n\
2039 VISUALSTYLE\n\
2040 5\n\
2041 2C\n\
2042 102\n\
2043 {ACAD_REACTORS\n\
2044 330\n\
2045 2A\n\
2046 102\n\
2047 }\n\
2048 330\n\
2049 2A\n\
2050 100\n\
2051 AcDbVisualStyle\n\
2052 2\n\
2053 FlatWithEdges\n\
2054 70\n\
2055  1\n\
2056 71\n\
2057  2\n\
2058 72\n\
2059  1\n\
2060 73\n\
2061  1\n\
2062 90\n\
2063  2\n\
2064 40\n\
2065 -0.6\n\
2066 41\n\
2067 30.0\n\
2068 62\n\
2069  5\n\
2070 63\n\
2071  7\n\
2072 421\n\
2073 16777215\n\
2074 74\n\
2075  1\n\
2076 91\n\
2077  4\n\
2078 64\n\
2079  7\n\
2080 65\n\
2081  257\n\
2082 75\n\
2083  1\n\
2084 175\n\
2085  1\n\
2086 42\n\
2087 1.0\n\
2088 92\n\
2089  0\n\
2090 66\n\
2091  257\n\
2092 43\n\
2093 1.0\n\
2094 76\n\
2095  1\n\
2096 77\n\
2097  6\n\
2098 78\n\
2099  2\n\
2100 67\n\
2101  7\n\
2102 79\n\
2103  5\n\
2104 170\n\
2105  0\n\
2106 171\n\
2107  0\n\
2108 290\n\
2109  0\n\
2110 174\n\
2111  0\n\
2112 93\n\
2113  13\n\
2114 44\n\
2115 0.0\n\
2116 173\n\
2117  0\n\
2118 291\n\
2119  1\n\
2120 45\n\
2121 0.0\n\
2122 1001\n\
2123 ACAD\n\
2124 1000\n\
2125 AcDbSavedByObjectVersion\n\
2126 1070\n\
2127  0\n\
2128 0\n\
2129 VISUALSTYLE\n\
2130 5\n\
2131 2D\n\
2132 102\n\
2133 {ACAD_REACTORS\n\
2134 330\n\
2135 2A\n\
2136 102\n\
2137 }\n\
2138 330\n\
2139 2A\n\
2140 100\n\
2141 AcDbVisualStyle\n\
2142 2\n\
2143 Gouraud\n\
2144 70\n\
2145  2\n\
2146 71\n\
2147  2\n\
2148 72\n\
2149  2\n\
2150 73\n\
2151  1\n\
2152 90\n\
2153  2\n\
2154 40\n\
2155 -0.6\n\
2156 41\n\
2157 30.0\n\
2158 62\n\
2159  5\n\
2160 63\n\
2161  7\n\
2162 421\n\
2163 16777215\n\
2164 74\n\
2165  0\n\
2166 91\n\
2167  4\n\
2168 64\n\
2169  7\n\
2170 65\n\
2171  257\n\
2172 75\n\
2173  1\n\
2174 175\n\
2175  1\n\
2176 42\n\
2177 1.0\n\
2178 92\n\
2179  0\n\
2180 66\n\
2181  7\n\
2182 43\n\
2183 1.0\n\
2184 76\n\
2185  1\n\
2186 77\n\
2187  6\n\
2188 78\n\
2189  2\n\
2190 67\n\
2191  7\n\
2192 79\n\
2193  5\n\
2194 170\n\
2195  0\n\
2196 171\n\
2197  0\n\
2198 290\n\
2199  0\n\
2200 174\n\
2201  0\n\
2202 93\n\
2203  13\n\
2204 44\n\
2205 0.0\n\
2206 173\n\
2207  0\n\
2208 291\n\
2209  1\n\
2210 45\n\
2211 0.0\n\
2212 1001\n\
2213 ACAD\n\
2214 1000\n\
2215 AcDbSavedByObjectVersion\n\
2216 1070\n\
2217  0\n\
2218 0\n\
2219 VISUALSTYLE\n\
2220 5\n\
2221 2E\n\
2222 102\n\
2223 {ACAD_REACTORS\n\
2224 330\n\
2225 2A\n\
2226 102\n\
2227 }\n\
2228 330\n\
2229 2A\n\
2230 100\n\
2231 AcDbVisualStyle\n\
2232 2\n\
2233 GouraudWithEdges\n\
2234 70\n\
2235  3\n\
2236 71\n\
2237  2\n\
2238 72\n\
2239  2\n\
2240 73\n\
2241  1\n\
2242 90\n\
2243  2\n\
2244 40\n\
2245 -0.6\n\
2246 41\n\
2247 30.0\n\
2248 62\n\
2249  5\n\
2250 63\n\
2251  7\n\
2252 421\n\
2253 16777215\n\
2254 74\n\
2255  1\n\
2256 91\n\
2257  4\n\
2258 64\n\
2259  7\n\
2260 65\n\
2261  257\n\
2262 75\n\
2263  1\n\
2264 175\n\
2265  1\n\
2266 42\n\
2267 1.0\n\
2268 92\n\
2269  0\n\
2270 66\n\
2271  257\n\
2272 43\n\
2273 1.0\n\
2274 76\n\
2275  1\n\
2276 77\n\
2277  6\n\
2278 78\n\
2279  2\n\
2280 67\n\
2281  7\n\
2282 79\n\
2283  5\n\
2284 170\n\
2285  0\n\
2286 171\n\
2287  0\n\
2288 290\n\
2289  0\n\
2290 174\n\
2291  0\n\
2292 93\n\
2293  13\n\
2294 44\n\
2295 0.0\n\
2296 173\n\
2297  0\n\
2298 291\n\
2299  1\n\
2300 45\n\
2301 0.0\n\
2302 1001\n\
2303 ACAD\n\
2304 1000\n\
2305 AcDbSavedByObjectVersion\n\
2306 1070\n\
2307  0\n\
2308 0\n\
2309 VISUALSTYLE\n\
2310 5\n\
2311 38\n\
2312 102\n\
2313 {ACAD_REACTORS\n\
2314 330\n\
2315 2A\n\
2316 102\n\
2317 }\n\
2318 330\n\
2319 2A\n\
2320 100\n\
2321 AcDbVisualStyle\n\
2322 2\n\
2323 Linepattern\n\
2324 70\n\
2325  14\n\
2326 71\n\
2327  2\n\
2328 72\n\
2329  2\n\
2330 73\n\
2331  0\n\
2332 90\n\
2333  0\n\
2334 40\n\
2335 -0.6\n\
2336 41\n\
2337 -30.0\n\
2338 62\n\
2339  5\n\
2340 63\n\
2341  7\n\
2342 421\n\
2343 16777215\n\
2344 74\n\
2345  1\n\
2346 91\n\
2347  4\n\
2348 64\n\
2349  7\n\
2350 65\n\
2351  257\n\
2352 75\n\
2353  7\n\
2354 175\n\
2355  7\n\
2356 42\n\
2357 1.0\n\
2358 92\n\
2359  8\n\
2360 66\n\
2361  7\n\
2362 43\n\
2363 1.0\n\
2364 76\n\
2365  1\n\
2366 77\n\
2367  6\n\
2368 78\n\
2369  2\n\
2370 67\n\
2371  7\n\
2372 79\n\
2373  5\n\
2374 170\n\
2375  0\n\
2376 171\n\
2377  0\n\
2378 290\n\
2379  0\n\
2380 174\n\
2381  0\n\
2382 93\n\
2383  1\n\
2384 44\n\
2385 0.0\n\
2386 173\n\
2387  0\n\
2388 291\n\
2389  1\n\
2390 45\n\
2391 0.0\n\
2392 1001\n\
2393 ACAD\n\
2394 1000\n\
2395 AcDbSavedByObjectVersion\n\
2396 1070\n\
2397  0\n\
2398 0\n\
2399 VISUALSTYLE\n\
2400 5\n\
2401 33\n\
2402 102\n\
2403 {ACAD_REACTORS\n\
2404 330\n\
2405 2A\n\
2406 102\n\
2407 }\n\
2408 330\n\
2409 2A\n\
2410 100\n\
2411 AcDbVisualStyle\n\
2412 2\n\
2413 Realistic\n\
2414 70\n\
2415  8\n\
2416 71\n\
2417  2\n\
2418 72\n\
2419  2\n\
2420 73\n\
2421  0\n\
2422 90\n\
2423  0\n\
2424 40\n\
2425 -0.6\n\
2426 41\n\
2427 -30.0\n\
2428 62\n\
2429  5\n\
2430 63\n\
2431  7\n\
2432 421\n\
2433 16777215\n\
2434 74\n\
2435  1\n\
2436 91\n\
2437  0\n\
2438 64\n\
2439  7\n\
2440 65\n\
2441  257\n\
2442 75\n\
2443  1\n\
2444 175\n\
2445  1\n\
2446 42\n\
2447 1.0\n\
2448 92\n\
2449  8\n\
2450 66\n\
2451  8\n\
2452 424\n\
2453 7895160\n\
2454 43\n\
2455 1.0\n\
2456 76\n\
2457  1\n\
2458 77\n\
2459  6\n\
2460 78\n\
2461  2\n\
2462 67\n\
2463  7\n\
2464 79\n\
2465  5\n\
2466 170\n\
2467  0\n\
2468 171\n\
2469  0\n\
2470 290\n\
2471  0\n\
2472 174\n\
2473  0\n\
2474 93\n\
2475  13\n\
2476 44\n\
2477 0.0\n\
2478 173\n\
2479  0\n\
2480 291\n\
2481  0\n\
2482 45\n\
2483 0.0\n\
2484 1001\n\
2485 ACAD\n\
2486 1000\n\
2487 AcDbSavedByObjectVersion\n\
2488 1070\n\
2489  0\n\
2490 0\n\
2491 VISUALSTYLE\n\
2492 5\n\
2493 37\n\
2494 102\n\
2495 {ACAD_REACTORS\n\
2496 330\n\
2497 2A\n\
2498 102\n\
2499 }\n\
2500 330\n\
2501 2A\n\
2502 100\n\
2503 AcDbVisualStyle\n\
2504 2\n\
2505 Thicken\n\
2506 70\n\
2507  13\n\
2508 71\n\
2509  2\n\
2510 72\n\
2511  2\n\
2512 73\n\
2513  0\n\
2514 90\n\
2515  0\n\
2516 40\n\
2517 -0.6\n\
2518 41\n\
2519 -30.0\n\
2520 62\n\
2521  5\n\
2522 63\n\
2523  7\n\
2524 421\n\
2525 16777215\n\
2526 74\n\
2527  1\n\
2528 91\n\
2529  4\n\
2530 64\n\
2531  7\n\
2532 65\n\
2533  257\n\
2534 75\n\
2535  1\n\
2536 175\n\
2537  1\n\
2538 42\n\
2539 1.0\n\
2540 92\n\
2541  12\n\
2542 66\n\
2543  7\n\
2544 43\n\
2545 1.0\n\
2546 76\n\
2547  1\n\
2548 77\n\
2549  6\n\
2550 78\n\
2551  2\n\
2552 67\n\
2553  7\n\
2554 79\n\
2555  5\n\
2556 170\n\
2557  0\n\
2558 171\n\
2559  0\n\
2560 290\n\
2561  0\n\
2562 174\n\
2563  0\n\
2564 93\n\
2565  1\n\
2566 44\n\
2567 0.0\n\
2568 173\n\
2569  0\n\
2570 291\n\
2571  1\n\
2572 45\n\
2573 0.0\n\
2574 1001\n\
2575 ACAD\n\
2576 1000\n\
2577 AcDbSavedByObjectVersion\n\
2578 1070\n\
2579  0\n\
2580 0\n\
2581 ENDSEC\n\
2582 "
QgsMapLayer::crs
QgsCoordinateReferenceSystem crs
Definition: qgsmaplayer.h:79
QgsLabelingEngine::addProvider
void addProvider(QgsAbstractLabelProvider *provider)
Add provider of label features. Takes ownership of the provider.
Definition: qgslabelingengine.cpp:190
qgsexpressioncontextutils.h
DxfLayerJob::labeling
std::unique_ptr< QgsAbstractVectorLayerLabeling > labeling
Definition: qgsdxfexport_p.h:110
QgsDxfExport
Exports QGIS layers to the DXF format.
Definition: qgsdxfexport.h:64
DxfLayerJob::attributes
QSet< QString > attributes
Definition: qgsdxfexport_p.h:118
QgsRenderContext::expressionContext
QgsExpressionContext & expressionContext()
Gets the expression context.
Definition: qgsrendercontext.h:625
QgsPalLayerSettings
Contains settings for how a map layer will be labeled.
Definition: qgspallabeling.h:86
QgsLabelingEngine::removeProvider
void removeProvider(QgsAbstractLabelProvider *provider)
Remove provider if the provider's initialization failed. Provider instance is deleted.
Definition: qgslabelingengine.cpp:196
QgsRuleBasedLabelSinkProvider
Implements a derived label provider for rule based labels for use with QgsLabelSink.
Definition: qgslabelsink.h:94
QgsFields
Container of fields for a vector layer.
Definition: qgsfields.h:44
QgsExpressionContextUtils::layerScope
static QgsExpressionContextScope * layerScope(const QgsMapLayer *layer)
Creates a new scope which contains variables and functions relating to a QgsMapLayer.
Definition: qgsexpressioncontextutils.cpp:334
QgsRenderContext
Contains information about the context of a rendering operation.
Definition: qgsrendercontext.h:59
QgsMapLayerStyleOverride
Restore overridden layer style on destruction.
Definition: qgsmaplayerstyle.h:81
QgsRuleBasedLabeling
Rule based labeling for a vector layer.
Definition: qgsrulebasedlabeling.h:42
DxfLayerJob::splitLayerAttribute
QString splitLayerAttribute
Definition: qgsdxfexport_p.h:116
QgsVectorLayer::fields
QgsFields fields() const FINAL
Returns the list of fields of this layer.
Definition: qgsvectorlayer.cpp:3436
qgsexpressioncontext.h
DxfLayerJob::ruleBasedLabelProvider
QgsRuleBasedLabelSinkProvider * ruleBasedLabelProvider
Definition: qgsdxfexport_p.h:115
DxfLayerJob
Holds information about each layer in a DXF job.
Definition: qgsdxfexport_p.h:31
qgslabelsink.h
QgsRuleBasedLabelProvider::prepare
bool prepare(QgsRenderContext &context, QSet< QString > &attributeNames) override
Prepare for registration of features.
Definition: qgsrulebasedlabeling.cpp:31
QgsFeatureRenderer::clone
virtual QgsFeatureRenderer * clone() const =0
Create a deep copy of this renderer.
QgsVectorLayer::labeling
const QgsAbstractVectorLayerLabeling * labeling() const
Access to const labeling configuration.
Definition: qgsvectorlayer.h:1656
DxfLayerJob::crs
QgsCoordinateReferenceSystem crs
Definition: qgsdxfexport_p.h:112
DxfLayerJob::labelProvider
QgsLabelSinkProvider * labelProvider
Definition: qgsdxfexport_p.h:114
DxfLayerJob::featureSource
QgsVectorLayerFeatureSource featureSource
Definition: qgsdxfexport_p.h:108
QgsMapLayer::title
QString title() const
Returns the title of the layer used by QGIS Server in GetCapabilities request.
Definition: qgsmaplayer.h:310
qgsvectorlayerfeatureiterator.h
DxfLayerJob::fields
QgsFields fields
Definition: qgsdxfexport_p.h:106
DxfLayerJob::layerTitle
QString layerTitle
Definition: qgsdxfexport_p.h:117
qgsrenderer.h
DxfLayerJob::layerName
QString layerName
Definition: qgsdxfexport_p.h:113
QgsCoordinateReferenceSystem
This class represents a coordinate reference system (CRS).
Definition: qgscoordinatereferencesystem.h:211
DxfLayerJob::styleOverride
QgsMapLayerStyleOverride styleOverride
Definition: qgsdxfexport_p.h:107
QgsLabelingEngine
The QgsLabelingEngine class provides map labeling functionality. The input for the engine is a list o...
Definition: qgslabelingengine.h:343
QgsExpressionContext::appendScope
void appendScope(QgsExpressionContextScope *scope)
Appends a scope to the end of the context.
Definition: qgsexpressioncontext.cpp:494
qgsvectorlayer.h
QgsRenderContext::labelingEngine
QgsLabelingEngine * labelingEngine() const
Gets access to new labeling engine (may be nullptr).
Definition: qgsrendercontext.h:368
DxfLayerJob::DxfLayerJob
DxfLayerJob(QgsVectorLayer *vl, const QString &layerStyleOverride, QgsRenderContext &renderContext, QgsDxfExport *dxfExport, const QString &splitLayerAttribute)
Definition: qgsdxfexport_p.h:46
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition: qgsvectorlayer.h:391
QgsLabelSinkProvider
Implements a derived label provider for use with QgsLabelSink.
Definition: qgslabelsink.h:74
QgsVectorLayerFeatureSource
Partial snapshot of vector layer's state (only the members necessary for access to features)
Definition: qgsvectorlayerfeatureiterator.h:52
QgsMapLayer::name
QString name
Definition: qgsmaplayer.h:76
DxfLayerJob::dxfExport
QgsDxfExport * dxfExport
Definition: qgsdxfexport_p.h:111
DxfLayerJob::renderer
std::unique_ptr< QgsFeatureRenderer > renderer
Definition: qgsdxfexport_p.h:109
QgsMapLayerStyleOverride::setOverrideStyle
void setOverrideStyle(const QString &style)
Temporarily apply a different style to the layer.
Definition: qgsmaplayerstyle.cpp:110
qgsvectorlayerlabeling.h
QgsVectorLayerLabelProvider::prepare
virtual bool prepare(QgsRenderContext &context, QSet< QString > &attributeNames)
Prepare for registration of features.
Definition: qgsvectorlayerlabelprovider.cpp:114
DxfLayerJob::renderContext
QgsRenderContext renderContext
Definition: qgsdxfexport_p.h:103
QgsAbstractVectorLayerLabeling::clone
virtual QgsAbstractVectorLayerLabeling * clone() const =0
Returns a new copy of the object.
QgsVectorLayer::labelsEnabled
bool labelsEnabled() const
Returns whether the layer contains labels which are enabled and should be drawn.
Definition: qgsvectorlayer.cpp:789
QgsVectorLayer::renderer
QgsFeatureRenderer * renderer()
Returns the feature renderer used for rendering the features in the layer in 2D map views.
Definition: qgsvectorlayer.h:903