[qet] [4374] dxftoqet : added solid

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Revision: 4374
Author:   rdsivd
Date:     2016-03-06 23:51:47 +0100 (Sun, 06 Mar 2016)
Log Message:
-----------
dxftoqet : added solid

Modified Paths:
--------------
    branches/dxftoqet2/DXFtoQET.pro
    branches/dxftoqet2/dxf_create_elmt.cpp
    branches/dxftoqet2/dxf_create_elmt.h
    branches/dxftoqet2/dxftoqet_mainwindow.cpp
    branches/dxftoqet2/dxftoqet_mainwindow.ui
    branches/dxftoqet2/src/csv_build_table.cpp
    branches/dxftoqet2/src/dxf_base_types/dxf_base_polyline.cpp
    branches/dxftoqet2/src/dxf_block/dxf_block_entitie_insert.cpp
    branches/dxftoqet2/src/dxf_block/dxf_block_entitie_insert.h
    branches/dxftoqet2/src/dxf_block/dxf_block_insert.cpp
    branches/dxftoqet2/src/dxf_block/dxf_block_polyline.cpp
    branches/dxftoqet2/src/dxf_control/dxf_layer_control.cpp
    branches/dxftoqet2/src/dxf_data.h
    branches/dxftoqet2/src/dxf_entitie/dxf_entitie_insert.cpp
    branches/dxftoqet2/src/dxf_entitie/dxf_entitie_lwpolyline.h
    branches/dxftoqet2/src/dxf_entitie/dxf_entitie_polyline.cpp
    branches/dxftoqet2/src/dxf_load.cpp
    branches/dxftoqet2/src/dxf_split.cpp

Added Paths:
-----------
    branches/dxftoqet2/src/dxf/dxf_solid.cpp
    branches/dxftoqet2/src/dxf/dxf_solid.h
    branches/dxftoqet2/src/dxf_block/dxf_block_solid.cpp
    branches/dxftoqet2/src/dxf_block/dxf_block_solid.h
    branches/dxftoqet2/src/dxf_entitie/dxf_entitie_solid.cpp
    branches/dxftoqet2/src/dxf_entitie/dxf_entitie_solid.h

Modified: branches/dxftoqet2/DXFtoQET.pro
===================================================================
--- branches/dxftoqet2/DXFtoQET.pro	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/DXFtoQET.pro	2016-03-06 22:51:47 UTC (rev 4374)
@@ -71,7 +71,10 @@
     src/dxf_entitie/dxf_entitie_input.cpp \
     src/dxf_entitie/dxf_entitie_terminal.cpp \
     src/dxf_block/dxf_block_entitie_insert.cpp \
-    src/dxf_table_size.cpp
+    src/dxf_table_size.cpp \
+    src/dxf_entitie/dxf_entitie_solid.cpp \
+    src/dxf/dxf_solid.cpp \
+    src/dxf_block/dxf_block_solid.cpp
 
 HEADERS  += dxftoqet_mainwindow.h \
     src/dxf_data.h \
@@ -130,7 +133,10 @@
     src/dxf_entitie/dxf_entitie_input.h \
     src/dxf_entitie/dxf_entitie_terminal.h \
     src/dxf_block/dxf_block_entitie_insert.h \
-    src/dxf_table_size.h
+    src/dxf_table_size.h \
+    src/dxf_entitie/dxf_entitie_solid.h \
+    src/dxf/dxf_solid.h \
+    src/dxf_block/dxf_block_solid.h
 
 FORMS    += dxftoqet_mainwindow.ui
 

Modified: branches/dxftoqet2/dxf_create_elmt.cpp
===================================================================
--- branches/dxftoqet2/dxf_create_elmt.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/dxf_create_elmt.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -6,7 +6,7 @@
 
 extern struct DXF_base DXF_main_base[1];
 extern struct DXF_header DXF_input_header[DXF_L_HEADER];
-extern struct DXF_table_block_record DXF_input_table_block_record[DXF_L_BLOCK_RECORD];
+extern struct DXF_table_block_record DXF_input_table_block_record[DXF_LT_BLOCK_RECORD];
 
 extern struct DXF_entities_arc DXF_input_entities_arc[DXF_LE_ARC];
 extern struct DXF_entities_line DXF_input_entities_line[DXF_LE_LINE];
@@ -21,6 +21,7 @@
 extern struct DXF_entities_seqend DXF_input_entities_seqend[DXF_LE_SEQEND];
 extern struct DXF_entities_vertex DXF_input_entities_vertex[DXF_LE_VERTEX];
 extern struct DXF_entities_lwpolyline DXF_input_entities_lwpolyline[DXF_LE_LWPOLYLINE];
+extern struct DXF_entities_solid DXF_input_entities_solid[DXF_LE_SOLID];
 
 extern struct DXF_block_line DXF_input_block_line[DXF_L_BLOCK][DXF_LB_LINE];
 extern struct DXF_block_arc DXF_input_block_arc[DXF_L_BLOCK][DXF_LB_ARC];
@@ -260,6 +261,7 @@
 	dxf_entitie_polyline Make_entitie_polyline;
 	dxf_entitie_insert Make_entitie_insert;
 	dxf_entitie_lwpolyline Make_entitie_lwpolyline;
+	dxf_entitie_solid Make_entitie_solid;
 
 	Color_entitie=DXF_main_base[0].dxf_entitie_color;
 	Color_block=DXF_main_base[0].dxf_block_color;
@@ -369,6 +371,15 @@
 	Make_entitie_lwpolyline.Entitie_line_style="normal";
 	Result.append(Make_entitie_lwpolyline.dxf_entitie_make_lwpolyline());
 
+	/* SOLID */
+	Make_entitie_solid.Count_entitie_solid=DXF_main_base[0].DXF_entities_solid_count;
+	Make_entitie_solid.Entitie_color="red";//Color_entitie;
+	Make_entitie_solid.Entitie_antialias="false";
+	Make_entitie_solid.Entitie_filling="true";
+	Make_entitie_solid.Entitie_line_weight="thin";
+	Make_entitie_solid.Entitie_line_style="normal";
+	Result.append(Make_entitie_solid.dxf_entitie_make_solid());
+
 	/* Close elmt description */
 
 	Result.append(Create_ELMT.DescriptionEnd());

Modified: branches/dxftoqet2/dxf_create_elmt.h
===================================================================
--- branches/dxftoqet2/dxf_create_elmt.h	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/dxf_create_elmt.h	2016-03-06 22:51:47 UTC (rev 4374)
@@ -45,6 +45,7 @@
 #include "src/dxf_entitie/dxf_entitie_lwpolyline.h"
 #include "src/dxf_entitie/dxf_entitie_input.h"
 #include "src/dxf_entitie/dxf_entitie_terminal.h"
+#include "src/dxf_entitie/dxf_entitie_solid.h"
 
 
 class DXF_create_elmt : public QWidget // QMainWindow

Modified: branches/dxftoqet2/dxftoqet_mainwindow.cpp
===================================================================
--- branches/dxftoqet2/dxftoqet_mainwindow.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/dxftoqet_mainwindow.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -11,15 +11,15 @@
 struct DXF_header DXF_input_header[DXF_L_HEADER];
 struct DXF_classes DXF_input_classes[DXF_L_CLASSES];
 struct DXF_tables DXF_input_tables[DXF_L_TABLES];
-struct DXF_table_appid DXF_input_table_appid[DXF_L_APPID];
-struct DXF_table_block_record DXF_input_table_block_record[DXF_L_BLOCK_RECORD];
-struct DXF_table_dimstyle DXF_input_table_dimstyle[DXF_L_DIMSTYLE];
-struct DXF_table_layer DXF_input_table_layer[DXF_L_LAYER];
-struct DXF_table_ltype DXF_input_table_ltype[DXF_L_LTYPE];
-struct DXF_table_style DXF_input_table_style[DXF_L_STYLE];
-struct DXF_table_ucs DXF_input_table_ucs[DXF_L_UCS];
-struct DXF_table_view DXF_input_table_view[DXF_L_VIEW];
-struct DXF_table_vport DXF_input_table_vport[DXF_L_VPORT];
+struct DXF_table_appid DXF_input_table_appid[DXF_LT_APPID];
+struct DXF_table_block_record DXF_input_table_block_record[DXF_LT_BLOCK_RECORD];
+struct DXF_table_dimstyle DXF_input_table_dimstyle[DXF_LT_DIMSTYLE];
+struct DXF_table_layer DXF_input_table_layer[DXF_LT_LAYER];
+struct DXF_table_ltype DXF_input_table_ltype[DXF_LT_LTYPE];
+struct DXF_table_style DXF_input_table_style[DXF_LT_STYLE];
+struct DXF_table_ucs DXF_input_table_ucs[DXF_LT_UCS];
+struct DXF_table_view DXF_input_table_view[DXF_LT_VIEW];
+struct DXF_table_vport DXF_input_table_vport[DXF_LT_VPORT];
 struct DXF_block DXF_input_block[DXF_L_BLOCK];
 struct DXF_end_block DXF_input_end_block[DXF_L_BLOCK];
 

Modified: branches/dxftoqet2/dxftoqet_mainwindow.ui
===================================================================
--- branches/dxftoqet2/dxftoqet_mainwindow.ui	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/dxftoqet_mainwindow.ui	2016-03-06 22:51:47 UTC (rev 4374)
@@ -478,7 +478,7 @@
             <enum>QTabWidget::Rounded</enum>
            </property>
            <property name="currentIndex">
-            <number>0</number>
+            <number>2</number>
            </property>
            <widget class="QWidget" name="tab_ELMT">
             <property name="sizePolicy">
@@ -1347,7 +1347,7 @@
 30 section();
 31 seqend();
 32 shape();
-33 solid();
+33 solid(converted);
 34 spline();
 35 sun();
 36 surface();
@@ -1399,8 +1399,11 @@
                 </item>
                 <item row="4" column="4">
                  <widget class="QLabel" name="label_55">
+                  <property name="styleSheet">
+                   <string notr="true">BACKGROUND:rgb(165, 198, 130)</string>
+                  </property>
                   <property name="text">
-                   <string>SOLID</string>
+                   <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;SOLID&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
                   </property>
                  </widget>
                 </item>

Modified: branches/dxftoqet2/src/csv_build_table.cpp
===================================================================
--- branches/dxftoqet2/src/csv_build_table.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/csv_build_table.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -9,15 +9,15 @@
 extern struct DXF_header DXF_input_header[DXF_L_HEADER];
 extern struct DXF_classes DXF_input_classes[DXF_L_CLASSES];
 extern struct DXF_tables DXF_input_tables[DXF_L_TABLES];
-extern struct DXF_table_appid DXF_input_table_appid[DXF_L_APPID];
-extern struct DXF_table_block_record DXF_input_table_block_record[DXF_L_BLOCK_RECORD];
-extern struct DXF_table_dimstyle DXF_input_table_dimstyle[DXF_L_DIMSTYLE];
-extern struct DXF_table_layer DXF_input_table_layer[DXF_L_LAYER];
-extern struct DXF_table_ltype DXF_input_table_ltype[DXF_L_LTYPE];
-extern struct DXF_table_style DXF_input_table_style[DXF_L_STYLE];
-extern struct DXF_table_ucs DXF_input_table_ucs[DXF_L_UCS];
-extern struct DXF_table_view DXF_input_table_view[DXF_L_VIEW];
-extern struct DXF_table_vport DXF_input_table_vport[DXF_L_VPORT];
+extern struct DXF_table_appid DXF_input_table_appid[DXF_LT_APPID];
+extern struct DXF_table_block_record DXF_input_table_block_record[DXF_LT_BLOCK_RECORD];
+extern struct DXF_table_dimstyle DXF_input_table_dimstyle[DXF_LT_DIMSTYLE];
+extern struct DXF_table_layer DXF_input_table_layer[DXF_LT_LAYER];
+extern struct DXF_table_ltype DXF_input_table_ltype[DXF_LT_LTYPE];
+extern struct DXF_table_style DXF_input_table_style[DXF_LT_STYLE];
+extern struct DXF_table_ucs DXF_input_table_ucs[DXF_LT_UCS];
+extern struct DXF_table_view DXF_input_table_view[DXF_LT_VIEW];
+extern struct DXF_table_vport DXF_input_table_vport[DXF_LT_VPORT];
 extern struct DXF_block DXF_input_block[DXF_L_BLOCK];
 extern struct DXF_end_block DXF_input_end_block[DXF_L_BLOCK];
 

Added: branches/dxftoqet2/src/dxf/dxf_solid.cpp
===================================================================
--- branches/dxftoqet2/src/dxf/dxf_solid.cpp	                        (rev 0)
+++ branches/dxftoqet2/src/dxf/dxf_solid.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -0,0 +1,49 @@
+#include "dxf_solid.h"
+
+dxf_solid::dxf_solid(QWidget *parent) : QWidget(parent)
+{
+
+}
+
+QString dxf_solid::Create_SOLID()
+{
+
+	dxf_base_polyline db_lwpolyline;
+	DXF_Ltype_control db_line_ltype_control;
+
+	Result_solid="";
+
+	db_line_ltype_control.FindLT=ltype;
+	db_line_ltype_control.Layer=layer;
+
+	db_lwpolyline.QET_line_style=db_line_ltype_control.Ltype_control();
+
+	db_lwpolyline.QET_antialias=antialias;
+	db_lwpolyline.QET_line_weight=line_weight;
+	db_lwpolyline.QET_filling=filling;
+	db_lwpolyline.QET_color=color;
+
+
+	db_lwpolyline.QET_closed="true";
+
+	for (count=1; count<=vector_count;count++)
+	{
+		db_lwpolyline.QET_x[count]=x_vector[count];
+		db_lwpolyline.QET_y[count]=y_vector[count];
+
+
+	}
+
+	db_lwpolyline.segments=vector_count;
+
+	Result_solid.append(db_lwpolyline.Create_polyline());
+
+	return Result_solid;
+
+
+
+
+
+
+
+}

Added: branches/dxftoqet2/src/dxf/dxf_solid.h
===================================================================
--- branches/dxftoqet2/src/dxf/dxf_solid.h	                        (rev 0)
+++ branches/dxftoqet2/src/dxf/dxf_solid.h	2016-03-06 22:51:47 UTC (rev 4374)
@@ -0,0 +1,43 @@
+#ifndef DXF_SOLID_H
+#define DXF_SOLID_H
+
+#include <QWidget>
+#include "src/dxf_base_types/dxf_base_polyline.h"
+#include "src/dxf_control/dxf_ltype_control.h"
+
+class dxf_solid : public QWidget
+{
+	Q_OBJECT
+	public:
+	explicit dxf_solid(QWidget *parent = 0);
+
+	QString layer;				//8
+	QString ltype;				//6
+
+	QString antialias;
+	QString style;
+	QString line_style;
+	QString line_weight;
+	QString filling;
+	QString color;
+
+	int16_t closed;				//70
+
+	double x_vector[500];
+	double y_vector[500];
+
+	QString Result_solid;
+
+
+	int vector_count;
+	int count;
+
+
+	QString Create_SOLID();
+
+	signals:
+
+	public slots:
+};
+
+#endif // DXF_SOLID_H

Modified: branches/dxftoqet2/src/dxf_base_types/dxf_base_polyline.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_base_types/dxf_base_polyline.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_base_types/dxf_base_polyline.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -62,7 +62,7 @@
 	Result_polyline.append(QET_antialias);
 	Result_polyline.append(QChar(34));
 
-	for (count_segments=1; count_segments<=segments;count_segments++)
+	for (count_segments=0; count_segments<=segments;count_segments++)
 	{
 		Result_polyline.append(" x");
 		Result_polyline.append(QString::number(count_segments));

Modified: branches/dxftoqet2/src/dxf_block/dxf_block_entitie_insert.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_block/dxf_block_entitie_insert.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_block/dxf_block_entitie_insert.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -18,10 +18,11 @@
 extern struct DXF_block_seqend DXF_input_block_seqend[DXF_L_BLOCK][DXF_LB_SEQEND];
 extern struct DXF_block_text DXF_input_block_text[DXF_L_BLOCK][DXF_LB_TEXT];
 extern struct DXF_block_vertex DXF_input_block_vertex[DXF_L_BLOCK][DXF_LB_VERTEX];
+extern struct DXF_block_solid DXF_input_block_solid[DXF_L_BLOCK][DXF_LB_LWPOLYLINE];
 
 extern struct DXF_entities_insert DXF_input_entities_insert[DXF_LE_INSERT];
 
-extern struct DXF_table_block_record DXF_input_table_block_record[DXF_L_BLOCK_RECORD];
+extern struct DXF_table_block_record DXF_input_table_block_record[DXF_LT_BLOCK_RECORD];
 
 dxf_block_entitie_insert::dxf_block_entitie_insert(QWidget *parent) : QWidget(parent)
 {
@@ -44,7 +45,9 @@
 	dxf_block_attribute insert_Make_Block_Attribute;
 	dxf_block_text insert_Make_Block_Text;
 	dxf_block_insert insert_Make_Block_insert;
+	dxf_block_solid insert_Make_Block_solid;
 
+
 	/* Block LINES */
 
 	insert_Make_Block_Lines.x_insert=x_insert;
@@ -200,6 +203,24 @@
 
 	Result_insert.append(insert_Make_Block_Text.Make_Block_Text());
 
+	/* solid */
+
+	insert_Make_Block_solid.x_insert=x_insert;
+	insert_Make_Block_solid.y_insert=y_insert;
+	insert_Make_Block_solid.x_insert_scale=x_insert_scale;
+	insert_Make_Block_solid.y_insert_scale=y_insert_scale;
+	insert_Make_Block_solid.xy_rotation=xy_rotation;
+	insert_Make_Block_solid.Name_insert=Name_insert;
+	insert_Make_Block_solid.Insert_block_nr=Insert_block_nr;
+	insert_Make_Block_solid.vector_max=5;
+
+	insert_Make_Block_solid.block_color=dxf_insert_block_color;//"cyan";
+	insert_Make_Block_solid.block_filling="none";
+	insert_Make_Block_solid.block_line_weight="thin";
+	insert_Make_Block_solid.block_line_style="normal";
+
+	Result_insert.append(insert_Make_Block_solid.Make_Block_Solid());
+
 	/* Block INSERT */
 
 	insert_Make_Block_insert.x_base=x_insert;

Modified: branches/dxftoqet2/src/dxf_block/dxf_block_entitie_insert.h
===================================================================
--- branches/dxftoqet2/src/dxf_block/dxf_block_entitie_insert.h	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_block/dxf_block_entitie_insert.h	2016-03-06 22:51:47 UTC (rev 4374)
@@ -18,6 +18,7 @@
 #include "src/dxf_block/dxf_block_attribute.h"
 #include "src/dxf_block/dxf_block_text.h"
 #include "src/dxf_block/dxf_block_insert.h"
+#include "src/dxf_block/dxf_block_solid.h"
 
 //#include "dxftoqet_mainwindow.h"
 //#include "ui_dxftoqet_mainwindow.h"

Modified: branches/dxftoqet2/src/dxf_block/dxf_block_insert.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_block/dxf_block_insert.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_block/dxf_block_insert.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -22,7 +22,7 @@
 
 extern struct DXF_entities_insert DXF_input_entities_insert[DXF_LE_INSERT];
 
-extern struct DXF_table_block_record DXF_input_table_block_record[DXF_L_BLOCK_RECORD];
+extern struct DXF_table_block_record DXF_input_table_block_record[DXF_LT_BLOCK_RECORD];
 
 
 dxf_block_insert::dxf_block_insert(QWidget *parent): QWidget(parent)

Modified: branches/dxftoqet2/src/dxf_block/dxf_block_polyline.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_block/dxf_block_polyline.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_block/dxf_block_polyline.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -24,22 +24,29 @@
 	{
 
 		Count_lines2=0;
-		count_vertex2=1;
+		count_vertex2=0;
 
 		Count_block_polyline=DXF_main_base[0].DXF_block_polyline_count[Insert_block_nr];
 
 		while (Count_lines2<=Count_block_polyline)
 		{
 
-		   for(counter_x=1;counter_x<=Polyline_vertex;counter_x++)
+			for (int clean=0;clean>=499;clean++)
+			{
+				 dxb_polyline2.x_vector[clean]=0;
+				 dxb_polyline2.y_vector[clean]=0;
+
+			}
+
+		   for(counter_x=0;counter_x<=Polyline_vertex;counter_x++)
 		   {
 
-			   for (int clean=0;clean>=499;clean++)
+			   /*for (int clean=0;clean>=499;clean++)
 			   {
 					dxb_polyline2.x_vector[clean]=0;
 					dxb_polyline2.y_vector[clean]=0;
 
-			   }
+			   }*/
 
 			   if (DXF_input_block_vertex[Insert_block_nr][counter_x].Master_block_handle_id==DXF_input_block_polyline[Insert_block_nr][Count_lines2].DXF_block_polyline_code_5)
 			   {
@@ -59,7 +66,7 @@
 
 		   }
 
-		   dxb_polyline2.vector_count=count_vertex2-1;
+		   dxb_polyline2.vector_count=count_vertex2;
 
 		   dxb_polyline2.antialias=block_antialias;
 		   dxb_polyline2.line_style=block_line_style;

Added: branches/dxftoqet2/src/dxf_block/dxf_block_solid.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_block/dxf_block_solid.cpp	                        (rev 0)
+++ branches/dxftoqet2/src/dxf_block/dxf_block_solid.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -0,0 +1,110 @@
+#include "dxf_block_solid.h"
+
+extern struct ALG Max_alg;
+extern struct BLOCK Max_block;
+extern struct ENTITIE Max_entitie;
+extern struct DXF_base DXF_main_base[1];
+extern struct DXF_block_solid DXF_input_block_solid[DXF_L_BLOCK][DXF_LB_LWPOLYLINE];
+
+
+dxf_block_solid::dxf_block_solid(QWidget *parent) : QWidget(parent)
+{
+
+}
+
+QString dxf_block_solid::Make_Block_Solid()
+{
+
+	/* prepare polygon from block items */
+
+	dxf_solid dxb_solid;
+
+	Count_lines_block2=0;
+	Count_lines2=0;
+	count_vertex=1;
+
+
+	Result_Block_solid="";
+
+	while(Count_lines_block2<DXF_main_base[0].DXF_block_solid_count[Insert_block_nr])
+	{
+
+
+		Count_block_solid2=DXF_main_base[0].DXF_block_solid_count[Insert_block_nr];
+
+		while (Count_lines2<Count_block_solid2)
+		{
+			//vector_max=DXF_input_block_lwpolyline[Insert_block_nr][Count_lines2].DXF_block_lwpolyline_code_90; // max number of vectors
+
+
+
+
+
+
+
+					dxb_solid.x_vector[1]=x_insert+DXF_input_block_solid[Insert_block_nr][Count_lines2].DXF_block_solid_code_10;
+					dxb_solid.y_vector[1]=(-y_insert)+(-DXF_input_block_solid[Insert_block_nr][Count_lines2].DXF_block_solid_code_20);
+
+					dxb_solid.x_vector[2]=x_insert+DXF_input_block_solid[Insert_block_nr][Count_lines2].DXF_block_solid_code_11;
+					dxb_solid.y_vector[2]=(-y_insert)+(-DXF_input_block_solid[Insert_block_nr][Count_lines2].DXF_block_solid_code_21);
+
+					dxb_solid.x_vector[3]=x_insert+DXF_input_block_solid[Insert_block_nr][Count_lines2].DXF_block_solid_code_12;
+					dxb_solid.y_vector[3]=(-y_insert)+(-DXF_input_block_solid[Insert_block_nr][Count_lines2].DXF_block_solid_code_22);
+
+					dxb_solid.x_vector[4]=x_insert+DXF_input_block_solid[Insert_block_nr][Count_lines2].DXF_block_solid_code_13;
+					dxb_solid.y_vector[4]=(-y_insert)+(-DXF_input_block_solid[Insert_block_nr][Count_lines2].DXF_block_solid_code_23);
+
+
+					count_vertex=count_vertex+1;
+
+				   if (count_vertex>49)
+				   {
+					   counter_x=vector_max+2;
+				   }
+				   if (count_vertex>vector_max+1)
+				   {
+					   counter_x=vector_max+2;
+				   }
+
+
+
+			   dxb_solid.vector_count=vector_max;
+
+			   dxb_solid.antialias=block_antialias;
+			   dxb_solid.line_style=block_line_style;
+			   dxb_solid.line_weight=block_line_weight;
+			   dxb_solid.filling=block_filling;
+			   dxb_solid.color=block_color;
+			   dxb_solid.closed=DXF_input_block_solid[Insert_block_nr][Count_lines_block2].DXF_block_solid_code_70;
+
+
+			   dxb_solid.ltype=DXF_input_block_solid[Insert_block_nr][Count_lines_block2].DXF_block_solid_code_6;
+			   dxb_solid.layer=DXF_input_block_solid[Insert_block_nr][Count_lines_block2].DXF_block_solid_code_8;
+
+
+
+
+			  Result_Block_solid.append(dxb_solid.Create_SOLID());
+
+			   Count_lines_block2=Count_lines_block2+1;
+			   count_vertex=1;
+			   counter_x=0;
+			   Count_lines2=Count_lines2+1;
+
+
+
+
+
+		}
+
+
+
+
+	}
+
+
+
+	return Result_Block_solid;
+
+
+}

Added: branches/dxftoqet2/src/dxf_block/dxf_block_solid.h
===================================================================
--- branches/dxftoqet2/src/dxf_block/dxf_block_solid.h	                        (rev 0)
+++ branches/dxftoqet2/src/dxf_block/dxf_block_solid.h	2016-03-06 22:51:47 UTC (rev 4374)
@@ -0,0 +1,48 @@
+#ifndef DXF_BLOCK_SOLID_H
+#define DXF_BLOCK_SOLID_H
+
+#include <QWidget>
+#include "src/dxf_data.h"
+#include "src/dxf_table_size.h"
+#include "src/qet_base_types/baseelmt.h"
+#include "src/dxf/dxf_solid.h"
+
+class dxf_block_solid : public QWidget
+{
+	Q_OBJECT
+	public:
+	explicit dxf_block_solid(QWidget *parent = 0);
+
+	QString Result_Block_solid;
+	int Count_lines_block2;
+	int Insert_block_nr;
+	int Count_lines2;
+	int Count_block_solid2;
+	int vector_max;
+	int counter_x;
+	int count_vertex;
+
+	double x_insert;
+	double y_insert;
+
+	double x_insert_scale;
+	double y_insert_scale;
+
+	double xy_rotation;
+
+	QString Name_insert;
+
+	QString block_color;		// black
+	QString block_line_weight;	// thin
+	QString block_filling;		// none
+	QString block_antialias;	// false
+	QString block_line_style;	// normal
+
+	QString Make_Block_Solid();
+
+	signals:
+
+	public slots:
+};
+
+#endif // DXF_BLOCK_SOLID_H

Modified: branches/dxftoqet2/src/dxf_control/dxf_layer_control.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_control/dxf_layer_control.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_control/dxf_layer_control.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -4,7 +4,7 @@
 extern struct BLOCK Max_block;
 extern struct ENTITIE Max_entitie;
 extern struct DXF_base DXF_main_base[1];
-extern struct DXF_table_layer DXF_input_table_layer[DXF_L_LAYER];
+extern struct DXF_table_layer DXF_input_table_layer[DXF_LT_LAYER];
 
 DXF_layer_control::DXF_layer_control(QWidget *parent) : QWidget(parent)
 {

Modified: branches/dxftoqet2/src/dxf_data.h
===================================================================
--- branches/dxftoqet2/src/dxf_data.h	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_data.h	2016-03-06 22:51:47 UTC (rev 4374)
@@ -11,18 +11,20 @@
 #define DXF_L_HEADER 500
 #define DXF_L_CLASSES 1000
 #define DXF_L_TABLES 20
-#define DXF_L_APPID 100
-#define DXF_L_BLOCK_RECORD 500
-#define DXF_L_DIMSTYLE 500
-#define DXF_L_LAYER 100
-#define DXF_L_LTYPE 100
-#define DXF_L_STYLE 100
-#define DXF_L_UCS 100
-#define DXF_L_VIEW 100
-#define DXF_L_VPORT 100
 #define DXF_L_BLOCK 200
 #define DXF_L_ENTITIES 100000
+#define DXF_L_OBJECTS 10000
+#define DXF_L_THUMBNAILIMAGE 10000
 
+#define DXF_LT_APPID 100
+#define DXF_LT_BLOCK_RECORD 500
+#define DXF_LT_DIMSTYLE 500
+#define DXF_LT_LAYER 100
+#define DXF_LT_LTYPE 100
+#define DXF_LT_STYLE 100
+#define DXF_LT_UCS 100
+#define DXF_LT_VIEW 100
+#define DXF_LT_VPORT 100
 
 #define DXF_LB_3DFACE 100
 #define DXF_LB_3DSOLID 100
@@ -935,6 +937,8 @@
 
 	struct DXF_block_arc
 	{
+		QString DXF_block_arc_code_1;
+		QString DXF_block_arc_code_2;
 		QString DXF_block_arc_code_5;
 		QString DXF_block_arc_code_6;
 		QString DXF_block_arc_code_8;
@@ -1079,6 +1083,7 @@
 		int16_t DXF_block_attrib_code_70;
 		int16_t DXF_block_attrib_code_71;
 		int16_t DXF_block_attrib_code_72;
+		int16_t DXF_block_attrib_code_73;
 		int16_t DXF_block_attrib_code_74;
 
 		int32_t DXF_block_attrib_code_90;
@@ -1651,6 +1656,7 @@
 		double DXF_block_line_code_48;
 
 		int16_t DXF_block_line_code_62;
+		int16_t DXF_block_line_code_73;
 
 		QString DXF_block_line_code_100[5];
 		QString DXF_block_line_code_102[2];
@@ -2393,24 +2399,25 @@
 		QString DXF_block_solid_code_6;
 		QString DXF_block_solid_code_8;
 
-		double DXF_block_solid_code_10[200];
+		double DXF_block_solid_code_10;
 		double DXF_block_solid_code_11;
 		double DXF_block_solid_code_12;
 		double DXF_block_solid_code_13;
-		double DXF_block_solid_code_14[5];
+		double DXF_block_solid_code_14;
 
 
-		double DXF_block_solid_code_20[200];
+		double DXF_block_solid_code_20;
 		double DXF_block_solid_code_21;
 		double DXF_block_solid_code_22;
 		double DXF_block_solid_code_23;
-		double DXF_block_solid_code_24[5];
+		double DXF_block_solid_code_24;
 
-		double DXF_block_solid_code_30[200];
+		double DXF_block_solid_code_30;
 		double DXF_block_solid_code_31;
 		double DXF_block_solid_code_32;
+		double DXF_block_solid_code_33;
 
-		double DXF_block_solid_code_40[200];
+		double DXF_block_solid_code_40;
 		double DXF_block_solid_code_41;
 		double DXF_block_solid_code_42;
 		double DXF_block_solid_code_43;
@@ -3239,6 +3246,7 @@
 
 		int16_t DXF_entities_attrib_code_70;
 		int16_t DXF_entities_attrib_code_72;
+		int16_t DXF_entities_attrib_code_73;
 
 		int16_t DXF_entities_attrib_code_74;
 
@@ -3506,6 +3514,7 @@
 		double DXF_entities_line_code_48; // line type scale
 
 		int16_t DXF_entities_line_code_62;
+		int16_t DXF_entities_line_code_73;
 
 		QString DXF_entities_line_code_100[5];
 		QString DXF_entities_line_code_102[3];
@@ -3852,10 +3861,16 @@
 
 		double DXF_entities_solid_code_10;
 		double DXF_entities_solid_code_11;
+		double DXF_entities_solid_code_12;
+		double DXF_entities_solid_code_13;
 		double DXF_entities_solid_code_20;
 		double DXF_entities_solid_code_21;
+		double DXF_entities_solid_code_22;
+		double DXF_entities_solid_code_23;
 		double DXF_entities_solid_code_30;
 		double DXF_entities_solid_code_31;
+		double DXF_entities_solid_code_32;
+		double DXF_entities_solid_code_33;
 
 		int16_t DXF_entities_solid_code_62;
 

Modified: branches/dxftoqet2/src/dxf_entitie/dxf_entitie_insert.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_entitie/dxf_entitie_insert.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_entitie/dxf_entitie_insert.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -22,7 +22,7 @@
 
 extern struct DXF_entities_insert DXF_input_entities_insert[DXF_LE_INSERT];
 
-extern struct DXF_table_block_record DXF_input_table_block_record[DXF_L_BLOCK_RECORD];
+extern struct DXF_table_block_record DXF_input_table_block_record[DXF_LT_BLOCK_RECORD];
 
 
 

Modified: branches/dxftoqet2/src/dxf_entitie/dxf_entitie_lwpolyline.h
===================================================================
--- branches/dxftoqet2/src/dxf_entitie/dxf_entitie_lwpolyline.h	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_entitie/dxf_entitie_lwpolyline.h	2016-03-06 22:51:47 UTC (rev 4374)
@@ -33,6 +33,7 @@
 	int vector_max;
 
 	QString dxf_entitie_make_lwpolyline();
+
 	signals:
 
 	public slots:

Modified: branches/dxftoqet2/src/dxf_entitie/dxf_entitie_polyline.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_entitie/dxf_entitie_polyline.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_entitie/dxf_entitie_polyline.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -29,7 +29,7 @@
    while (Count_lines<Count_entitie_polyline)
    {
 
-	  for(counter_x=1;counter_x<Polyline_vertex;counter_x++)
+	  for(counter_x=0;counter_x<Polyline_vertex;counter_x++)
 	  {
 
 		  if (DXF_input_entities_vertex[counter_x].Master_handle_id==DXF_input_entities_polyline[Count_lines].DXF_entities_polyline_code_5)
@@ -49,7 +49,7 @@
 
 	  }
 
-	  db_polyline.vector_count=count_vertex-1;
+	  db_polyline.vector_count=count_vertex;
 
 	  db_polyline.antialias=Entitie_antialias;		// false
 	  db_polyline.line_style=Entitie_line_style;	// normal

Added: branches/dxftoqet2/src/dxf_entitie/dxf_entitie_solid.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_entitie/dxf_entitie_solid.cpp	                        (rev 0)
+++ branches/dxftoqet2/src/dxf_entitie/dxf_entitie_solid.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -0,0 +1,73 @@
+#include "dxf_entitie_solid.h"
+
+extern struct ALG Max_alg;
+extern struct BLOCK Max_block;
+extern struct ENTITIE Max_entitie;
+extern struct DXF_base DXF_main_base[1];
+extern struct DXF_entities_solid DXF_input_entities_solid[DXF_LE_SOLID];
+
+dxf_entitie_solid::dxf_entitie_solid(QWidget *parent) : QWidget(parent)
+{
+
+}
+
+QString dxf_entitie_solid::dxf_entitie_make_solid()
+{
+
+	dxf_solid db_solid;
+
+	Result_solid="";
+
+
+	Count_lines=0;
+	Count_vertex=1;
+
+	vector_max=5;
+
+	while (Count_lines<=Count_entitie_solid)
+	{
+
+
+
+		db_solid.x_vector[1]=DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_10;
+		db_solid.y_vector[1]=-DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_20;
+
+
+		db_solid.x_vector[2]=DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_11;
+		db_solid.y_vector[2]=-DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_21;
+
+		db_solid.x_vector[3]=DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_12;
+		db_solid.y_vector[3]=-DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_22;
+
+		db_solid.x_vector[4]=DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_13;
+		db_solid.y_vector[4]=-DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_23;
+
+	   db_solid.vector_count=vector_max-1;
+
+	   db_solid.antialias=Entitie_antialias;		// false
+	   db_solid.line_style=Entitie_line_style;		// normal
+	   db_solid.line_weight=Entitie_line_weight;			// thin
+	   db_solid.filling=Entitie_filling;			// none
+	   db_solid.color=Entitie_color;
+	   db_solid.closed=1;	//DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_70;
+
+
+	   db_solid.ltype=DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_6;
+	   db_solid.layer=DXF_input_entities_solid[Count_lines].DXF_entities_solid_code_8;
+
+
+
+
+	   Result_solid.append(db_solid.Create_SOLID());
+
+	   Count_lines=Count_lines+1;
+
+
+
+
+	}
+
+	return Result_solid;
+}
+
+

Added: branches/dxftoqet2/src/dxf_entitie/dxf_entitie_solid.h
===================================================================
--- branches/dxftoqet2/src/dxf_entitie/dxf_entitie_solid.h	                        (rev 0)
+++ branches/dxftoqet2/src/dxf_entitie/dxf_entitie_solid.h	2016-03-06 22:51:47 UTC (rev 4374)
@@ -0,0 +1,37 @@
+#ifndef DXF_ENTITIE_SOLID_H
+#define DXF_ENTITIE_SOLID_H
+
+#include <QWidget>
+#include "src/dxf/dxf_solid.h"
+
+class dxf_entitie_solid : public QWidget
+{
+	Q_OBJECT
+	public:
+	explicit dxf_entitie_solid(QWidget *parent = 0);
+
+	QString Result_solid;
+	QString Entitie_color;			// black
+	QString Entitie_line_weight;
+	QString Entitie_line_style;
+	QString Entitie_filling;
+	QString Entitie_antialias;
+	QString Entitie_rotate;			// true
+	QString Entitie_tag;			// label
+
+	int Count_lines;
+	int Count_vertex;
+	int Count_entitie_solid;
+
+	int Solid_vertex;
+	int counter_x;
+	int vector_max;
+
+	QString dxf_entitie_make_solid();
+
+	signals:
+
+	public slots:
+};
+
+#endif // DXF_ENTITIE_SOLID_H

Modified: branches/dxftoqet2/src/dxf_load.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_load.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_load.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -11,15 +11,15 @@
 extern struct DXF_header DXF_input_header[DXF_L_HEADER];
 extern struct DXF_classes DXF_input_classes[DXF_L_CLASSES];
 extern struct DXF_tables DXF_input_tables[DXF_L_TABLES];
-extern struct DXF_table_appid DXF_input_table_appid[DXF_L_APPID];
-extern struct DXF_table_block_record DXF_input_table_block_record[DXF_L_BLOCK_RECORD];
-extern struct DXF_table_dimstyle DXF_input_table_dimstyle[DXF_L_DIMSTYLE];
-extern struct DXF_table_layer DXF_input_table_layer[DXF_L_LAYER];
-extern struct DXF_table_ltype DXF_input_table_ltype[DXF_L_LTYPE];
-extern struct DXF_table_style DXF_input_table_style[DXF_L_STYLE];
-extern struct DXF_table_ucs DXF_input_table_ucs[DXF_L_UCS];
-extern struct DXF_table_view DXF_input_table_view[DXF_L_VIEW];
-extern struct DXF_table_vport DXF_input_table_vport[DXF_L_VPORT];
+extern struct DXF_table_appid DXF_input_table_appid[DXF_LT_APPID];
+extern struct DXF_table_block_record DXF_input_table_block_record[DXF_LT_BLOCK_RECORD];
+extern struct DXF_table_dimstyle DXF_input_table_dimstyle[DXF_LT_DIMSTYLE];
+extern struct DXF_table_layer DXF_input_table_layer[DXF_LT_LAYER];
+extern struct DXF_table_ltype DXF_input_table_ltype[DXF_LT_LTYPE];
+extern struct DXF_table_style DXF_input_table_style[DXF_LT_STYLE];
+extern struct DXF_table_ucs DXF_input_table_ucs[DXF_LT_UCS];
+extern struct DXF_table_view DXF_input_table_view[DXF_LT_VIEW];
+extern struct DXF_table_vport DXF_input_table_vport[DXF_LT_VPORT];
 extern struct DXF_block DXF_input_block[DXF_L_BLOCK];
 extern struct DXF_end_block DXF_input_end_block[DXF_L_BLOCK];
 

Modified: branches/dxftoqet2/src/dxf_split.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_split.cpp	2016-03-06 16:39:56 UTC (rev 4373)
+++ branches/dxftoqet2/src/dxf_split.cpp	2016-03-06 22:51:47 UTC (rev 4374)
@@ -10,15 +10,15 @@
 extern struct DXF_header DXF_input_header[DXF_L_HEADER];
 extern struct DXF_classes DXF_input_classes[DXF_L_CLASSES];
 extern struct DXF_tables DXF_input_tables[DXF_L_TABLES];
-extern struct DXF_table_appid DXF_input_table_appid[DXF_L_APPID];
-extern struct DXF_table_block_record DXF_input_table_block_record[DXF_L_BLOCK_RECORD];
-extern struct DXF_table_dimstyle DXF_input_table_dimstyle[DXF_L_DIMSTYLE];
-extern struct DXF_table_layer DXF_input_table_layer[DXF_L_LAYER];
-extern struct DXF_table_ltype DXF_input_table_ltype[DXF_L_LTYPE];
-extern struct DXF_table_style DXF_input_table_style[DXF_L_STYLE];
-extern struct DXF_table_ucs DXF_input_table_ucs[DXF_L_UCS];
-extern struct DXF_table_view DXF_input_table_view[DXF_L_VIEW];
-extern struct DXF_table_vport DXF_input_table_vport[DXF_L_VPORT];
+extern struct DXF_table_appid DXF_input_table_appid[DXF_LT_APPID];
+extern struct DXF_table_block_record DXF_input_table_block_record[DXF_LT_BLOCK_RECORD];
+extern struct DXF_table_dimstyle DXF_input_table_dimstyle[DXF_LT_DIMSTYLE];
+extern struct DXF_table_layer DXF_input_table_layer[DXF_LT_LAYER];
+extern struct DXF_table_ltype DXF_input_table_ltype[DXF_LT_LTYPE];
+extern struct DXF_table_style DXF_input_table_style[DXF_LT_STYLE];
+extern struct DXF_table_ucs DXF_input_table_ucs[DXF_LT_UCS];
+extern struct DXF_table_view DXF_input_table_view[DXF_LT_VIEW];
+extern struct DXF_table_vport DXF_input_table_vport[DXF_LT_VPORT];
 extern struct DXF_block DXF_input_block[DXF_L_BLOCK];
 extern struct DXF_end_block DXF_input_end_block[DXF_L_BLOCK];
 
@@ -215,7 +215,7 @@
 						header_count1=0;
 
 
-						while (header_st1==0 and header_count1<499)
+						while (header_st1==0 and header_count1<(DXF_L_HEADER-1))
 						{
 							for_count1=for_count1+2;
 
@@ -838,7 +838,7 @@
 						classes_st1=0;
 						classes_count1=0;
 
-						while (classes_st1==0 and classes_count1<9999)
+						while (classes_st1==0 and classes_count1<(DXF_L_CLASSES-1))
 						{
 							for_count1=for_count1+2;
 
@@ -1092,7 +1092,7 @@
 						tables_count4=0;
 
 
-						while (tables_st1==0 and tables_count1<19)
+						while (tables_st1==0 and tables_count1<(DXF_L_TABLES-1))
 						{
 							for_count1=for_count1+2;
 
@@ -1148,7 +1148,7 @@
 										tables_count3=0;
 										count_tables_100=0;
 
-										while (tables_st3==0 and tables_count3<19)
+										while (tables_st3==0 and tables_count3<(DXF_LT_APPID-1))
 										{
 											for_count1=for_count1+2;
 
@@ -1459,7 +1459,7 @@
 										tables_count3=0;
 										count_tables_100=0;
 
-										while (tables_st3==0 and tables_count3<19)
+										while (tables_st3==0 and tables_count3<(DXF_LT_BLOCK_RECORD-1))
 										{
 											for_count1=for_count1+2;
 
@@ -1802,7 +1802,7 @@
 										count_tables_102=0;
 										count_tables_340=0;
 
-										while (tables_st3==0 and tables_count3<19)
+										while (tables_st3==0 and tables_count3<DXF_LT_DIMSTYLE-1)
 										{
 											for_count1=for_count1+2;
 
@@ -3515,7 +3515,7 @@
 										count_tables_102=0;
 										count_tables_340=0;
 
-										while (tables_st3==0 and tables_count3<19)
+										while (tables_st3==0 and tables_count3<(DXF_LT_LAYER-1))
 										{
 											for_count1=for_count1+2;
 
@@ -4167,7 +4167,7 @@
 										tables_count3=0;
 										count_tables_100=0;
 
-										while (tables_st3==0 and tables_count3<19)
+										while (tables_st3==0 and tables_count3<(DXF_LT_LTYPE-1))
 										{
 											for_count1=for_count1+2;
 
@@ -4663,7 +4663,7 @@
 										tables_count3=0;
 										count_tables_100=0;
 
-										while (tables_st3==0 and tables_count3<19)
+										while (tables_st3==0 and tables_count3<(DXF_LT_STYLE-1))
 										{
 											for_count1=for_count1+2;
 
@@ -5287,7 +5287,7 @@
 										tables_count3=0;
 										count_tables_100=0;
 
-										while (tables_st3==0 and tables_count3<19)
+										while (tables_st3==0 and tables_count3<(DXF_LT_UCS-1))
 										{
 											for_count1=for_count1+2;
 
@@ -5628,7 +5628,7 @@
 										tables_count3=0;
 										count_tables_100=0;
 
-										while (tables_st3==0 and tables_count3<19)
+										while (tables_st3==0 and tables_count3<(DXF_LT_VIEW-1))
 										{
 											for_count1=for_count1+2;
 
@@ -6298,7 +6298,7 @@
 										count_tables_100=0;
 										count_tables_102=0;
 
-										while (tables_st3==0 and tables_count3<19)
+										while (tables_st3==0 and tables_count3<(DXF_LT_VPORT-1))
 										{
 											for_count1=for_count1+2;
 
@@ -8180,7 +8180,7 @@
 						count_block_100=0;
 						count_block_102=0;
 
-						while (block_st1==0 and block_count1<Max_alg.DXF_input_block) // count the number of blocks
+						while (block_st1==0 and block_count1<(DXF_L_BLOCK-1)) // count the number of blocks
 						{
 							for_count1=for_count1+2;
 
@@ -8232,7 +8232,7 @@
 
 												}
 
-												while (block_st3==0 and block_count1<Max_alg.DXF_input_end_block)
+												while (block_st3==0 and block_count1<(DXF_L_BLOCK-1))
 												{
 													for_count1=for_count1+2;
 													line5=DXF_main_base[0].dxf_input[for_count1].toInt();
@@ -8434,7 +8434,7 @@
 													block_count5=0;
 
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_3dface-1))
+													while (block_st5==0 and block_count5<(DXF_L_BLOCK-1))
 													{
 
 														for_count1=for_count1+2;
@@ -8474,7 +8474,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_3dsolid-1))
+													while (block_st5==0 and block_count5<(DXF_LB_3DSOLID-1))
 													{
 
 														for_count1=for_count1+2;
@@ -8515,7 +8515,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_acad_proxy_entity-1))
+													while (block_st5==0 and block_count5<(DXF_LB_PROXY_ENTITY-1))
 													{
 
 														for_count1=for_count1+2;
@@ -8568,7 +8568,7 @@
 													count_block_arc_102=0;
 													count_block_arc_330=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_arc-1))
+													while (block_st5==0 and block_count5<(DXF_LB_ARC-1))
 													{
 
 														for_count1=for_count1+2;
@@ -8595,7 +8595,7 @@
 															break;
 
 
-															/*case 1:
+															case 1:
 
 																if(sw_block_line[1]==0)
 																{
@@ -8624,7 +8624,7 @@
 
 																}
 
-																break;*/
+																break;
 
 															case 5:
 
@@ -9203,7 +9203,7 @@
 													count_block_attdef_24=0;
 													count_block_attdef_100=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_attdef-1))
+													while (block_st5==0 and block_count5<(DXF_LB_ATTDEF-1))
 													{
 
 														for_count1=for_count1+2;
@@ -9820,7 +9820,7 @@
 													count_block_attrib_24=0;
 													count_block_attrib_100=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_attrib-1))
+													while (block_st5==0 and block_count5<(DXF_LB_ATTRIB-1))
 													{
 
 														for_count1=for_count1+2;
@@ -10428,7 +10428,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_body-1))
+													while (block_st5==0 and block_count5<(DXF_LB_BODY-1))
 													{
 
 														for_count1=for_count1+2;
@@ -10481,7 +10481,7 @@
 													count_block_circle_102=0;
 													count_block_circle_330=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_circle-1))
+													while (block_st5==0 and block_count5<(DXF_LB_CIRCLE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -11102,7 +11102,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_dimension-1))
+													while (block_st5==0 and block_count5<(DXF_LB_DIMENSION-1))
 													{
 
 														for_count1=for_count1+2;
@@ -11143,7 +11143,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_ellipse-1))
+													while (block_st5==0 and block_count5<(DXF_LB_ELLIPSE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -11780,7 +11780,7 @@
 													count_block_hatch_330=0;
 
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_hatch-1))
+													while (block_st5==0 and block_count5<(DXF_LB_HATCH-1))
 													{
 
 														for_count1=for_count1+2;
@@ -12494,7 +12494,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_helix-1))
+													while (block_st5==0 and block_count5<(DXF_LB_HELIX-1))
 													{
 
 														for_count1=for_count1+2;
@@ -12548,7 +12548,7 @@
 													count_block_image_100=0;
 
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_image-1))
+													while (block_st5==0 and block_count5<(DXF_LB_IMAGE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -13072,7 +13072,7 @@
 													count_block_insert_1071=0;
 
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_insert-1))
+													while (block_st5==0 and block_count5<(DXF_LB_INSERT-1))
 													{
 
 														for_count1=for_count1+2;
@@ -13871,7 +13871,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_leader-1))
+													while (block_st5==0 and block_count5<(DXF_LB_LEADER -1))
 													{
 
 														for_count1=for_count1+2;
@@ -13912,7 +13912,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_light-1))
+													while (block_st5==0 and block_count5<(DXF_LB_LIGHT-1))
 													{
 
 														for_count1=for_count1+2;
@@ -13969,7 +13969,7 @@
 													count_block_line_102=0;
 													count_block_line_330=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_line-1))
+													while (block_st5==0 and block_count5<(DXF_LB_LINE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -14244,7 +14244,7 @@
 													count_block_lwpolyline_102=0;
 													count_block_lwpolyline_330=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_lwpolyline-1))
+													while (block_st5==0 and block_count5<(DXF_LB_LWPOLYLINE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -14864,7 +14864,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_mesh-1))
+													while (block_st5==0 and block_count5<(DXF_LB_MESH-1))
 													{
 
 														for_count1=for_count1+2;
@@ -14905,7 +14905,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_mline-1))
+													while (block_st5==0 and block_count5<(DXF_LB_MLINE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -14946,7 +14946,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_mleaderstyle-1))
+													while (block_st5==0 and block_count5<(DXF_LB_MLEADERSTYLE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -14987,7 +14987,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_mleader-1))
+													while (block_st5==0 and block_count5<(DXF_LB_MLEADER-1))
 													{
 
 														for_count1=for_count1+2;
@@ -15028,7 +15028,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_mtext-1))
+													while (block_st5==0 and block_count5<(DXF_LB_MTEXT-1))
 													{
 
 														for_count1=for_count1+2;
@@ -15069,7 +15069,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_oleframe-1))
+													while (block_st5==0 and block_count5<(DXF_LB_OLEFRAME-1))
 													{
 
 														for_count1=for_count1+2;
@@ -15110,7 +15110,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_ole2frame-1))
+													while (block_st5==0 and block_count5<(DXF_LB_OLE2FRAME-1))
 													{
 
 														for_count1=for_count1+2;
@@ -15150,7 +15150,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_point-1))
+													while (block_st5==0 and block_count5<(DXF_LB_POINT-1))
 													{
 
 														for_count1=for_count1+2;
@@ -15204,7 +15204,7 @@
 													count_block_polyline_330=0;
 
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_polyline-1))
+													while (block_st5==0 and block_count5<(DXF_LB_POLYLINE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -15826,7 +15826,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_ray-1))
+													while (block_st5==0 and block_count5<(DXF_LB_RAY-1))
 													{
 
 														for_count1=for_count1+2;
@@ -15867,7 +15867,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_region-1))
+													while (block_st5==0 and block_count5<(DXF_LB_REGION-1))
 													{
 
 														for_count1=for_count1+2;
@@ -15908,7 +15908,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_section-1))
+													while (block_st5==0 and block_count5<(DXF_LB_SECTION-1))
 													{
 
 														for_count1=for_count1+2;
@@ -15949,7 +15949,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_seqend-1))
+													while (block_st5==0 and block_count5<(DXF_LB_SEQEND-1))
 													{
 
 														for_count1=for_count1+2;
@@ -16678,7 +16678,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_shape-1))
+													while (block_st5==0 and block_count5<(DXF_LB_SHAPE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -16736,7 +16736,7 @@
 
 
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_solid-1))
+													while (block_st5==0 and block_count5<(DXF_LB_SOLID-1))
 													{
 
 														for_count1=for_count1+2;
@@ -16808,7 +16808,7 @@
 
 																break;
 
-															case 10:
+															/*case 10:
 
 																if (count_block_solid_10>199)
 																{
@@ -16819,6 +16819,21 @@
 																	DXF_input_block_solid[block_count1][block_line_count].DXF_block_solid_code_10[count_block_solid_10]=line8.toDouble();
 																	count_block_solid_10=count_block_solid_10+1;
 																}
+																break;*/
+
+															case 10:
+
+																if(sw_block_line[10]==0)
+																{
+																	DXF_input_block_solid[block_count1][block_solid_count].DXF_block_solid_code_10=line8.toDouble();
+																	sw_block_line[10]=1;
+																}
+																else
+																{
+																	Log_1.append(found_block_solid());
+
+																}
+
 																break;
 
 															case 11:
@@ -16866,7 +16881,7 @@
 
 																break;
 
-															case 14:
+															/*case 14:
 
 																if (count_block_solid_14>4)
 																{
@@ -16877,9 +16892,9 @@
 																	DXF_input_block_solid[block_count1][block_line_count].DXF_block_solid_code_14[count_block_solid_14]=line8.toDouble();
 																	count_block_solid_14=count_block_solid_14+1;
 																}
-																break;
+																break;*/
 
-															case 20:
+															/*case 20:
 
 																if (count_block_solid_20>199)
 																{
@@ -16890,6 +16905,21 @@
 																	DXF_input_block_solid[block_count1][block_line_count].DXF_block_solid_code_20[count_block_solid_20]=line8.toDouble();
 																	count_block_solid_20=count_block_solid_20+1;
 																}
+																break;*/
+
+															case 20:
+
+																if(sw_block_line[20]==0)
+																{
+																	DXF_input_block_solid[block_count1][block_solid_count].DXF_block_solid_code_20=line8.toDouble();
+																	sw_block_line[20]=1;
+																}
+																else
+																{
+																	Log_1.append(found_block_solid());
+
+																}
+
 																break;
 
 															case 21:
@@ -16937,7 +16967,7 @@
 
 																break;
 
-															case 24:
+															/*case 24:
 
 																if (count_block_solid_24>4)
 																{
@@ -16948,9 +16978,9 @@
 																	DXF_input_block_solid[block_count1][block_line_count].DXF_block_solid_code_24[count_block_solid_24]=line8.toDouble();
 																	count_block_solid_24=count_block_solid_24+1;
 																}
-																break;
+																break;*/
 
-															case 30:
+															/*case 30:
 
 																if (count_block_solid_30>199)
 																{
@@ -16961,6 +16991,21 @@
 																	DXF_input_block_solid[block_count1][block_line_count].DXF_block_solid_code_30[count_block_solid_30]=line8.toDouble();
 																	count_block_solid_30=count_block_solid_30+1;
 																}
+																break;*/
+
+															case 30:
+
+																if(sw_block_line[30]==0)
+																{
+																	DXF_input_block_solid[block_count1][block_solid_count].DXF_block_solid_code_30=line8.toDouble();
+																	sw_block_line[30]=1;
+																}
+																else
+																{
+																	Log_1.append(found_block_solid());
+
+																}
+
 																break;
 
 															case 31:
@@ -16993,7 +17038,7 @@
 
 																break;
 
-															case 40:
+															/*case 40:
 
 																if (count_block_solid_40>199)
 																{
@@ -17004,6 +17049,21 @@
 																	DXF_input_block_solid[block_count1][block_line_count].DXF_block_solid_code_40[count_block_solid_40]=line8.toDouble();
 																	count_block_solid_40=count_block_solid_40+1;
 																}
+																break;*/
+
+															case 40:
+
+																if(sw_block_line[40]==0)
+																{
+																	DXF_input_block_solid[block_count1][block_solid_count].DXF_block_solid_code_40=line8.toDouble();
+																	sw_block_line[40]=1;
+																}
+																else
+																{
+																	Log_1.append(found_block_solid());
+
+																}
+
 																break;
 
 															case 42:
@@ -17464,7 +17524,7 @@
 													count_block_spline_330=0;
 
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_spline-1))
+													while (block_st5==0 and block_count5<(DXF_LB_SPLINE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -18178,7 +18238,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_sun-1))
+													while (block_st5==0 and block_count5<(DXF_LB_SUN-1))
 													{
 
 														for_count1=for_count1+2;
@@ -18219,7 +18279,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_surface-1))
+													while (block_st5==0 and block_count5<(DXF_LB_SURFACE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -18260,7 +18320,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_table-1))
+													while (block_st5==0 and block_count5<(DXF_LB_TABLE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -18314,7 +18374,7 @@
 													count_block_text_330=0;
 
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_text-1))
+													while (block_st5==0 and block_count5<(DXF_LB_TEXT-1))
 													{
 
 
@@ -18952,7 +19012,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_tolerance-1))
+													while (block_st5==0 and block_count5<(DXF_LB_TOLERANCE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -18993,7 +19053,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_trace-1))
+													while (block_st5==0 and block_count5<(DXF_LB_TRACE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -19034,7 +19094,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_underlay-1))
+													while (block_st5==0 and block_count5<(DXF_LB_UNDERLAY-1))
 													{
 
 														for_count1=for_count1+2;
@@ -19087,7 +19147,7 @@
 													count_block_vertex_10=0;
 													count_block_vertex_330=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_vertex-1))
+													while (block_st5==0 and block_count5<(DXF_LB_VERTEX-1))
 													{
 
 														for_count1=for_count1+2;
@@ -19711,7 +19771,7 @@
 													count_block_viewport_10=0;
 													count_block_viewport_330=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_viewport-1))
+													while (block_st5==0 and block_count5<(DXF_LB_VIEWPORT-1))
 													{
 
 														for_count1=for_count1+2;
@@ -20740,7 +20800,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_wipeout-1))
+													while (block_st5==0 and block_count5<(DXF_LB_WIPEOUT-1))
 													{
 
 														for_count1=for_count1+2;
@@ -20781,7 +20841,7 @@
 													block_st5=0;
 													block_count5=0;
 
-													while (block_st5==0 and block_count5<(Max_block.DXF_block_xline-1))
+													while (block_st5==0 and block_count5<(DXF_LB_XLINE-1))
 													{
 
 														for_count1=for_count1+2;
@@ -21144,7 +21204,7 @@
 
 
 
-						while (entities_st1==0 and entities_count1<(Max_alg.DXF_entities-1))
+						while (entities_st1==0 and entities_count1<(DXF_L_ENTITIES-1))
 						{
 							for_count1=for_count1+2;
 
@@ -21178,7 +21238,7 @@
 
 								entities_3DFACE_count2_100=0;
 
-								while (entities_st2==0 and entities_3DFACE_count2<999)
+								while (entities_st2==0 and entities_3DFACE_count2<(DXF_LE_3DFACE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -21411,7 +21471,7 @@
 
 								entities_3DSOLID_count2_100=0;
 
-								while (entities_st2==0 and entities_3DSOLID_count2<999)
+								while (entities_st2==0 and entities_3DSOLID_count2<(DXF_LE_3DSOLID-1))
 								{
 									for_count1=for_count1+2;
 
@@ -21644,7 +21704,7 @@
 
 								entities_ACAD_PROXY_ENTITY_count2_100=0;
 
-								while (entities_st2==0 and entities_ACAD_PROXY_ENTITY_count2<999)
+								while (entities_st2==0 and entities_ACAD_PROXY_ENTITY_count2<(DXF_LE_PROXY_ENTITY-1))
 								{
 									for_count1=for_count1+2;
 
@@ -21881,7 +21941,7 @@
 								entities_ARC_count2_102=0;
 								entities_ARC_count2_330=0;
 
-								while (entities_st2==0 and entities_ARC_count2<999)
+								while (entities_st2==0 and entities_ARC_count2<(DXF_LE_ARC-1))
 								{
 									for_count1=for_count1+2;
 
@@ -22143,7 +22203,7 @@
 
 								entities_ATTDEF_count2_100=0;
 
-								while (entities_st2==0 and entities_ATTDEF_count2<999)
+								while (entities_st2==0 and entities_ATTDEF_count2<(DXF_LE_ATTDEF-1))
 								{
 									for_count1=for_count1+2;
 
@@ -22401,7 +22461,7 @@
 
 								entities_ATTRIB_count2_100=0;
 
-								while (entities_st2==0 and entities_ATTRIB_count2<999)
+								while (entities_st2==0 and entities_ATTRIB_count2<(DXF_LE_ATTRIB-1))
 								{
 									for_count1=for_count1+2;
 
@@ -22661,6 +22721,22 @@
 
 											break;
 
+										case 73: //
+
+
+
+											if(sw_entities_attrib[73]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_73=line6.toInt();
+												sw_entities_attrib[73]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_attr());
+											}
+
+											break;
+
 										case 74: //
 
 
@@ -22746,7 +22822,7 @@
 
 								entities_BODY_count2_100=0;
 
-								while (entities_st2==0 and entities_BODY_count2<999)
+								while (entities_st2==0 and entities_BODY_count2<(DXF_LE_BODY-1))
 								{
 									for_count1=for_count1+2;
 
@@ -22981,7 +23057,7 @@
 								entities_CIRCLE_count2_102=0;
 								entities_CIRCLE_count2_330=0;
 
-								while (entities_st2==0 and entities_CIRCLE_count2<999)
+								while (entities_st2==0 and entities_CIRCLE_count2<(DXF_LE_CIRCLE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -23287,7 +23363,7 @@
 
 								entities_DIMENSION_count2_100=0;
 
-								while (entities_st2==0 and entities_DIMENSION_count2<999)
+								while (entities_st2==0 and entities_DIMENSION_count2<(DXF_LE_DIMENSION-1))
 								{
 									for_count1=for_count1+2;
 
@@ -23520,7 +23596,7 @@
 
 								entities_ELLIPSE_count2_100=0;
 
-								while (entities_st2==0 and entities_ELLIPSE_count2<999)
+								while (entities_st2==0 and entities_ELLIPSE_count2<(DXF_LE_ELLIPSE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -23807,7 +23883,7 @@
 
 								entities_HATCH_count2_100=0;
 
-								while (entities_st2==0 and entities_HATCH_count2<999)
+								while (entities_st2==0 and entities_HATCH_count2<(DXF_LE_HATCH-1))
 								{
 									for_count1=for_count1+2;
 
@@ -24040,7 +24116,7 @@
 
 								entities_HELIX_count2_100=0;
 
-								while (entities_st2==0 and entities_HELIX_count2<999)
+								while (entities_st2==0 and entities_HELIX_count2<(DXF_LE_HELIX-1))
 								{
 									for_count1=for_count1+2;
 
@@ -24273,7 +24349,7 @@
 
 								entities_IMAGE_count2_100=0;
 
-								while (entities_st2==0 and entities_IMAGE_count2<999)
+								while (entities_st2==0 and entities_IMAGE_count2<(DXF_LE_IMAGE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -24513,7 +24589,7 @@
 								DXF_input_entities_insert[entities_INSERT_count2].DXF_entities_insert_code_42=1;
 								DXF_input_entities_insert[entities_INSERT_count2].DXF_entities_insert_code_43=1;
 
-								while (entities_st2==0 and entities_INSERT_count2<999)
+								while (entities_st2==0 and entities_INSERT_count2<(DXF_LE_INSERT-1))
 								{
 									for_count1=for_count1+2;
 
@@ -24769,7 +24845,7 @@
 
 								entities_LEADER_count2_100=0;
 
-								while (entities_st2==0 and entities_LEADER_count2<999)
+								while (entities_st2==0 and entities_LEADER_count2<(DXF_LE_LEADER-1))
 								{
 									for_count1=for_count1+2;
 
@@ -25002,7 +25078,7 @@
 
 								entities_LIGHT_count2_100=0;
 
-								while (entities_st2==0 and entities_LIGHT_count2<999)
+								while (entities_st2==0 and entities_LIGHT_count2<(DXF_LE_LIGHT-1))
 								{
 									for_count1=for_count1+2;
 
@@ -25239,7 +25315,7 @@
 								entities_LINE_count2_102=0;
 								entities_LINE_count2_330=0;
 
-								while (entities_st2==0 and entities_LINE_count2<99999)
+								while (entities_st2==0 and entities_LINE_count2<(DXF_LE_LINE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -25417,8 +25493,21 @@
 
 											break;
 
+										case 73:
 
+											if(sw_entities_line[73]==0)
+											{
+												DXF_input_entities_line[entities_LINE_count2].DXF_entities_line_code_73=line6.toDouble();
+												sw_entities_line[73]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_line());
+											}
 
+											break;
+
+
 										case 100: //subclass marker
 
 											if (entities_LINE_count2_100>4)
@@ -25505,7 +25594,7 @@
 								entities_LWPOLYLINE_count2_20=0;
 								entities_LWPOLYLINE_count2_100=0;
 
-								while (entities_st2==0 and entities_LWPOLYLINE_count2<999)
+								while (entities_st2==0 and entities_LWPOLYLINE_count2<(DXF_LE_LWPOLYLINE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -25699,7 +25788,7 @@
 
 								entities_MESH_count2_100=0;
 
-								while (entities_st2==0 and entities_MESH_count2<999)
+								while (entities_st2==0 and entities_MESH_count2<(DXF_LE_MESH-1))
 								{
 									for_count1=for_count1+2;
 
@@ -25932,7 +26021,7 @@
 
 								entities_MLINE_count2_100=0;
 
-								while (entities_st2==0 and entities_MLINE_count2<999)
+								while (entities_st2==0 and entities_MLINE_count2<(DXF_LE_MLINE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -26165,7 +26254,7 @@
 
 								entities_MLEADERSTYLE_count2_100=0;
 
-								while (entities_st2==0 and entities_MLEADERSTYLE_count2<999)
+								while (entities_st2==0 and entities_MLEADERSTYLE_count2<(DXF_LE_MLEADERSTYLE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -26398,7 +26487,7 @@
 
 								entities_MLEADER_count2_100=0;
 
-								while (entities_st2==0 and entities_MLEADER_count2<999)
+								while (entities_st2==0 and entities_MLEADER_count2<(DXF_LE_MLEADER-1))
 								{
 									for_count1=for_count1+2;
 
@@ -26631,7 +26720,7 @@
 
 								entities_MTEXT_count2_100=0;
 
-								while (entities_st2==0 and entities_MTEXT_count2<999)
+								while (entities_st2==0 and entities_MTEXT_count2<(DXF_LE_MTEXT-1))
 								{
 									for_count1=for_count1+2;
 
@@ -26864,7 +26953,7 @@
 
 								entities_OLEFRAME_count2_100=0;
 
-								while (entities_st2==0 and entities_OLEFRAME_count2<999)
+								while (entities_st2==0 and entities_OLEFRAME_count2<(DXF_LE_OLEFRAME-1))
 								{
 									for_count1=for_count1+2;
 
@@ -27097,7 +27186,7 @@
 
 								entities_OLE2FRAME_count2_100=0;
 
-								while (entities_st2==0 and entities_OLE2FRAME_count2<999)
+								while (entities_st2==0 and entities_OLE2FRAME_count2<(DXF_LE_OLE2FRAME-1))
 								{
 									for_count1=for_count1+2;
 
@@ -27330,7 +27419,7 @@
 
 								entities_POINT_count2_100=0;
 
-								while (entities_st2==0 and entities_POINT_count2<999)
+								while (entities_st2==0 and entities_POINT_count2<(DXF_LE_POINT-1))
 								{
 									for_count1=for_count1+2;
 
@@ -27637,7 +27726,7 @@
 
 								entities_POLYLINE_count2_100=0;
 
-								while (entities_st2==0 and entities_POLYLINE_count2<999)
+								while (entities_st2==0 and entities_POLYLINE_count2<(DXF_LE_POLYLINE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -27672,6 +27761,22 @@
 
 											break;
 
+										case 6:
+
+											if(sw_entities_polyline[6]==0)
+											{
+												DXF_input_entities_polyline[entities_POLYLINE_count2].DXF_entities_polyline_code_6=line6;
+												Master_handle_id=line6;
+												sw_entities_polyline[6]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_polyline());
+											}
+
+											break;
+
+
 										case 8:
 
 											if(sw_entities_polyline[8]==0)
@@ -27728,6 +27833,21 @@
 
 											break;
 
+										case 62:
+
+											if(sw_entities_polyline[62]==0)
+											{
+												DXF_input_entities_polyline[entities_POLYLINE_count2].DXF_entities_polyline_code_62=line6.toInt();
+												sw_entities_polyline[62]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_polyline());
+
+											}
+
+											break;
+
 										case 66:
 
 											if(sw_entities_polyline[66]==0)
@@ -27812,7 +27932,7 @@
 
 								entities_RAY_count2_100=0;
 
-								while (entities_st2==0 and entities_RAY_count2<999)
+								while (entities_st2==0 and entities_RAY_count2<(DXF_LE_RAY-1))
 								{
 									for_count1=for_count1+2;
 
@@ -28044,7 +28164,7 @@
 
 								entities_REGION_count2_100=0;
 
-								while (entities_st2==0 and entities_REGION_count2<999)
+								while (entities_st2==0 and entities_REGION_count2<(DXF_LE_REGION-1))
 								{
 									for_count1=for_count1+2;
 
@@ -28277,7 +28397,7 @@
 
 								entities_SECTION_count2_100=0;
 
-								while (entities_st2==0 and entities_SECTION_count2<999)
+								while (entities_st2==0 and entities_SECTION_count2<(DXF_LE_SECTION-1))
 								{
 									for_count1=for_count1+2;
 
@@ -28510,7 +28630,7 @@
 
 								entities_SEQEND_count2_100=0;
 
-								while (entities_st2==0 and entities_SEQEND_count2<999)
+								while (entities_st2==0 and entities_SEQEND_count2<(DXF_LE_SEQEND-1))
 								{
 									for_count1=for_count1+2;
 
@@ -28742,7 +28862,7 @@
 
 								entities_SHAPE_count2_100=0;
 
-								while (entities_st2==0 and entities_SHAPE_count2<999)
+								while (entities_st2==0 and entities_SHAPE_count2<(DXF_LE_SHAPE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -28975,7 +29095,7 @@
 
 								entities_SOLID_count2_100=0;
 
-								while (entities_st2==0 and entities_SOLID_count2<999)
+								while (entities_st2==0 and entities_SOLID_count2<(DXF_LE_SOLID-1))
 								{
 									for_count1=for_count1+2;
 
@@ -29006,18 +29126,8 @@
 											}
 											else
 											{
-												Log_1.append("Find in ENTITIES code ");
-												Log_1.append(QString::number(entities_SOLID_count2));
-												Log_1.append(" SOLID \n");
-												Log_1.append("Line :" );
-												Log_1.append(QString::number( for_count1));
-												Log_1.append(" ");
-												Log_1.append("Code :" );
-												Log_1.append(QString::number( line5));
-												Log_1.append(" : ");
-												Log_1.append(line6);
-												Log_1.append(" ");
-												Log_1.append("\n");
+												Log_1.append(found_entities_solid());
+
 											}
 
 											break;
@@ -29031,18 +29141,7 @@
 											}
 											else
 											{
-												Log_1.append("Find in ENTITIES code ");
-												Log_1.append(QString::number(entities_SOLID_count2));
-												Log_1.append(" SOLID \n");
-												Log_1.append("Line :" );
-												Log_1.append(QString::number( for_count1));
-												Log_1.append(" ");
-												Log_1.append("Code :" );
-												Log_1.append(QString::number( line5));
-												Log_1.append(" : ");
-												Log_1.append(line6);
-												Log_1.append(" ");
-												Log_1.append("\n");
+												Log_1.append(found_entities_solid());
 											}
 
 											break;
@@ -29056,22 +29155,53 @@
 											}
 											else
 											{
-												Log_1.append("Find in ENTITIES code ");
-												Log_1.append(QString::number(entities_SOLID_count2));
-												Log_1.append(" SOLID \n");
-												Log_1.append("Line :" );
-												Log_1.append(QString::number( for_count1));
-												Log_1.append(" ");
-												Log_1.append("Code :" );
-												Log_1.append(QString::number( line5));
-												Log_1.append(" : ");
-												Log_1.append(line6);
-												Log_1.append(" ");
-												Log_1.append("\n");
+												Log_1.append(found_entities_solid());
 											}
 
 											break;
 
+										case 11:
+
+											if(sw_entities_solid[11]==0)
+											{
+												DXF_input_entities_solid[entities_SOLID_count2].DXF_entities_solid_code_11=line6.toDouble();
+												sw_entities_solid[11]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_solid());
+											}
+
+											break;
+
+										case 12:
+
+											if(sw_entities_solid[12]==0)
+											{
+												DXF_input_entities_solid[entities_SOLID_count2].DXF_entities_solid_code_12=line6.toDouble();
+												sw_entities_solid[12]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_solid());
+											}
+
+											break;
+
+										case 13:
+
+											if(sw_entities_solid[13]==0)
+											{
+												DXF_input_entities_solid[entities_SOLID_count2].DXF_entities_solid_code_13=line6.toDouble();
+												sw_entities_solid[13]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_solid());
+											}
+
+											break;
+
 										case 20:
 
 											if(sw_entities_solid[20]==0)
@@ -29081,22 +29211,53 @@
 											}
 											else
 											{
-												Log_1.append("Find in ENTITIES code ");
-												Log_1.append(QString::number(entities_SOLID_count2));
-												Log_1.append(" SOLID \n");
-												Log_1.append("Line :" );
-												Log_1.append(QString::number( for_count1));
-												Log_1.append(" ");
-												Log_1.append("Code :" );
-												Log_1.append(QString::number( line5));
-												Log_1.append(" : ");
-												Log_1.append(line6);
-												Log_1.append(" ");
-												Log_1.append("\n");
+												Log_1.append(found_entities_solid());
 											}
 
 											break;
 
+										case 21:
+
+											if(sw_entities_solid[21]==0)
+											{
+												DXF_input_entities_solid[entities_SOLID_count2].DXF_entities_solid_code_21=line6.toDouble();
+												sw_entities_solid[21]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_solid());
+											}
+
+											break;
+
+										case 22:
+
+											if(sw_entities_solid[22]==0)
+											{
+												DXF_input_entities_solid[entities_SOLID_count2].DXF_entities_solid_code_22=line6.toDouble();
+												sw_entities_solid[22]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_solid());
+											}
+
+											break;
+
+										case 23:
+
+											if(sw_entities_solid[23]==0)
+											{
+												DXF_input_entities_solid[entities_SOLID_count2].DXF_entities_solid_code_23=line6.toDouble();
+												sw_entities_solid[23]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_solid());
+											}
+
+											break;
+
 										case 30:
 
 											if(sw_entities_solid[30]==0)
@@ -29106,40 +29267,59 @@
 											}
 											else
 											{
-												Log_1.append("Find in ENTITIES code ");
-												Log_1.append(QString::number(entities_SOLID_count2));
-												Log_1.append(" SOLID \n");
-												Log_1.append("Line :" );
-												Log_1.append(QString::number( for_count1));
-												Log_1.append(" ");
-												Log_1.append("Code :" );
-												Log_1.append(QString::number( line5));
-												Log_1.append(" : ");
-												Log_1.append(line6);
-												Log_1.append(" ");
-												Log_1.append("\n");
+												Log_1.append(found_entities_solid());
 											}
 
 											break;
 
+										case 31:
 
+											if(sw_entities_solid[31]==0)
+											{
+												DXF_input_entities_solid[entities_SOLID_count2].DXF_entities_solid_code_31=line6.toDouble();
+												sw_entities_solid[31]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_solid());
+											}
 
+											break;
+
+										case 32:
+
+											if(sw_entities_solid[32]==0)
+											{
+												DXF_input_entities_solid[entities_SOLID_count2].DXF_entities_solid_code_32=line6.toDouble();
+												sw_entities_solid[32]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_solid());
+											}
+
+											break;
+
+										case 33:
+
+											if(sw_entities_solid[33]==0)
+											{
+												DXF_input_entities_solid[entities_SOLID_count2].DXF_entities_solid_code_33=line6.toDouble();
+												sw_entities_solid[33]=1;
+											}
+											else
+											{
+												Log_1.append(found_entities_solid());
+											}
+
+											break;
+
+
 										case 100:
 
 											if (entities_SOLID_count2_100>2)
 											{
-												Log_1.append("Find in ENTITIES code ");
-												Log_1.append(QString::number(entities_SOLID_count2));
-												Log_1.append(" SOLID \n");
-												Log_1.append("Line :" );
-												Log_1.append(QString::number( for_count1));
-												Log_1.append(" ");
-												Log_1.append("Code :" );
-												Log_1.append(QString::number( line5));
-												Log_1.append(" : ");
-												Log_1.append(line6);
-												Log_1.append(" ");
-												Log_1.append("\n");
+												Log_1.append(found_entities_solid());
 											 }
 											else
 											 {
@@ -29158,33 +29338,13 @@
 											}
 											else
 											{
-												Log_1.append("Find in ENTITIES code ");
-												Log_1.append(QString::number(entities_SOLID_count2));
-												Log_1.append(" SOLID \n");
-												Log_1.append("Line :" );
-												Log_1.append(QString::number( for_count1));
-												Log_1.append(" ");
-												Log_1.append("Code :" );
-												Log_1.append(QString::number( line5));
-												Log_1.append(" : ");
-												Log_1.append(line6);
-												Log_1.append(" ");
-												Log_1.append("\n");
+												Log_1.append(found_entities_solid());
 											}
 
 											break;
 
 										default:
-											Log_1.append("Find in entities SOLID \n");
-											Log_1.append("Line :" );
-											Log_1.append(QString::number( for_count1));
-											Log_1.append(" ");
-											Log_1.append("Code :" );
-											Log_1.append(QString::number( line5));
-											Log_1.append(" : ");
-											Log_1.append(line6);
-											Log_1.append(" ");
-											Log_1.append("\n");
+											Log_1.append(found_entities_solid());
 									}
 								}
 
@@ -29212,7 +29372,7 @@
 								entities_SPLINE_count2_40=0;
 								entities_SPLINE_count2_100=0;
 
-								while (entities_st2==0 and entities_SPLINE_count2<999)
+								while (entities_st2==0 and entities_SPLINE_count2<(DXF_LE_SPLINE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -29530,7 +29690,7 @@
 
 								entities_SUN_count2_100=0;
 
-								while (entities_st2==0 and entities_SUN_count2<999)
+								while (entities_st2==0 and entities_SUN_count2<(DXF_LE_SUN-1))
 								{
 									for_count1=for_count1+2;
 
@@ -29763,7 +29923,7 @@
 
 								entities_SURFACE_count2_100=0;
 
-								while (entities_st2==0 and entities_SURFACE_count2<999)
+								while (entities_st2==0 and entities_SURFACE_count2<(DXF_LE_SURFACE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -29996,7 +30156,7 @@
 
 								entities_TABLE_count2_100=0;
 
-								while (entities_st2==0 and entities_TABLE_count2<999)
+								while (entities_st2==0 and entities_TABLE_count2<(DXF_LE_TABLE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -30233,7 +30393,7 @@
 								entities_TEXT_count2_330=0;
 
 
-								while (entities_st2==0 and entities_TEXT_count2<999)
+								while (entities_st2==0 and entities_TEXT_count2<(DXF_LE_TEXT-1))
 								{
 									for_count1=for_count1+2;
 
@@ -30551,7 +30711,7 @@
 
 								entities_TOLERANCE_count2_100=0;
 
-								while (entities_st2==0 and entities_TOLERANCE_count2<999)
+								while (entities_st2==0 and entities_TOLERANCE_count2<(DXF_LE_TOLERANCE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -30784,7 +30944,7 @@
 
 								entities_TRACE_count2_100=0;
 
-								while (entities_st2==0 and entities_TRACE_count2<999)
+								while (entities_st2==0 and entities_TRACE_count2<(DXF_LE_TRACE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -31017,7 +31177,7 @@
 
 								entities_UNDERLAY_count2_100=0;
 
-								while (entities_st2==0 and entities_UNDERLAY_count2<999)
+								while (entities_st2==0 and entities_UNDERLAY_count2<(DXF_LE_UNDERLAY-1))
 								{
 									for_count1=for_count1+2;
 
@@ -31250,7 +31410,7 @@
 
 								entities_VERTEX_count2_100=0;
 
-								while (entities_st2==0 and entities_VERTEX_count2<4999)
+								while (entities_st2==0 and entities_VERTEX_count2<(DXF_LE_VERTEX-1))
 								{
 									for_count1=for_count1+2;
 
@@ -31483,7 +31643,7 @@
 
 								entities_VIEWPORT_count2_100=0;
 
-								while (entities_st2==0 and entities_VIEWPORT_count2<999)
+								while (entities_st2==0 and entities_VIEWPORT_count2<(DXF_LE_VIEWPORT-1))
 								{
 									for_count1=for_count1+2;
 
@@ -31716,7 +31876,7 @@
 
 								entities_WIPEOUT_count2_100=0;
 
-								while (entities_st2==0 and entities_WIPEOUT_count2<999)
+								while (entities_st2==0 and entities_WIPEOUT_count2<(DXF_LE_WIPEOUT-1))
 								{
 									for_count1=for_count1+2;
 
@@ -31949,7 +32109,7 @@
 
 								entities_XLINE_count2_100=0;
 
-								while (entities_st2==0 and entities_XLINE_count2<999)
+								while (entities_st2==0 and entities_XLINE_count2<(DXF_LE_XLINE-1))
 								{
 									for_count1=for_count1+2;
 
@@ -32244,7 +32404,7 @@
 						objects_st1=0;
 						objects_count1=0;
 
-						while (objects_st1==0 and objects_count1<9999)
+						while (objects_st1==0 and objects_count1<(DXF_L_OBJECTS-1))
 						{
 							for_count1=for_count1+2;
 
@@ -32315,7 +32475,7 @@
 						thumbnailimage_st1=0;
 						thumbnailimage_count1=0;
 
-						while (thumbnailimage_st1==0 and thumbnailimage_count1<9999)
+						while (thumbnailimage_st1==0 and thumbnailimage_count1<(DXF_L_THUMBNAILIMAGE-1))
 						{
 							for_count1=for_count1+2;
 
@@ -32627,6 +32787,23 @@
 	return Log_2;
 }
 
+QString dxf_split::found_entities_solid()
+{
+	Log_2="";
+	Log_2.append("Find in ENTITIES code ");
+	Log_2.append(QString::number(entities_SOLID_count2));
+	Log_2.append(" SOLID \n");
+	Log_2.append("Line :" );
+	Log_2.append(QString::number( for_count1));
+	Log_2.append(" ");
+	Log_2.append("Code :" );
+	Log_2.append(QString::number( line5));
+	Log_2.append(" : ");
+	Log_2.append(line6);
+	Log_2.append(" ");
+	Log_2.append("\n");
+	return Log_2;
+}
 QString dxf_split::found_block_section2()
 {
 	Log_2="";


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/