[qet] [4202] add convertion of acad attributes

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


Revision: 4202
Author:   rdsivd
Date:     2015-09-13 22:19:44 +0200 (Sun, 13 Sep 2015)
Log Message:
-----------
add convertion of acad attributes
and correction on line

Modified Paths:
--------------
    branches/dxftoqet2/DXFtoQET.pro
    branches/dxftoqet2/dxf_create_elmt.cpp
    branches/dxftoqet2/dxf_create_elmt.h
    branches/dxftoqet2/dxftoqet_mainwindow.ui
    branches/dxftoqet2/src/dxf/dxf_arc.cpp
    branches/dxftoqet2/src/dxf_base_types/dxf_base_input.cpp
    branches/dxftoqet2/src/dxf_base_types/dxf_base_line.cpp
    branches/dxftoqet2/src/dxf_data.h
    branches/dxftoqet2/src/dxf_split.cpp
    branches/dxftoqet2/src/dxf_split.h

Added Paths:
-----------
    branches/dxftoqet2/src/dxf/dxf_attr.cpp
    branches/dxftoqet2/src/dxf/dxf_attr.h

Modified: branches/dxftoqet2/DXFtoQET.pro
===================================================================
--- branches/dxftoqet2/DXFtoQET.pro	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/DXFtoQET.pro	2015-09-13 20:19:44 UTC (rev 4202)
@@ -40,7 +40,8 @@
     src/dxf_base_types/dxf_base_rectangel.cpp \
     src/dxf_base_types/dxf_base_text.cpp \
     src/dxf/dxf_text.cpp \
-    src/dxf/dxf_rect.cpp
+    src/dxf/dxf_rect.cpp \
+    src/dxf/dxf_attr.cpp
 
 HEADERS  += dxftoqet_mainwindow.h \
     src/dxf_data.h \
@@ -68,7 +69,8 @@
     src/dxf_base_types/dxf_base_rectangel.h \
     src/dxf_base_types/dxf_base_text.h \
     src/dxf/dxf_text.h \
-    src/dxf/dxf_rect.h
+    src/dxf/dxf_rect.h \
+    src/dxf/dxf_attr.h
 
 FORMS    += dxftoqet_mainwindow.ui
 

Modified: branches/dxftoqet2/dxf_create_elmt.cpp
===================================================================
--- branches/dxftoqet2/dxf_create_elmt.cpp	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/dxf_create_elmt.cpp	2015-09-13 20:19:44 UTC (rev 4202)
@@ -6,7 +6,9 @@
 extern struct DXF_entities_arc DXF_input_entities_arc[1000];
 extern struct DXF_entities_line DXF_input_entities_line[100000];
 extern struct DXF_entities_attdef DXF_input_entities_attdef[1000];
+extern struct DXF_entities_attrib DXF_input_entities_attrib[1000];
 extern struct DXF_entities_circle DXF_input_entities_circle[1000];
+extern struct DXF_entities_point DXF_input_entities_point[1000];
 
 DXF_create_elmt::DXF_create_elmt(QWidget *parent) :
 	QMainWindow(parent)
@@ -226,6 +228,12 @@
 
 	Result.append(Make_ATTDEF());
 
+	/* ATTR */
+
+	Count_entitie_attr=DXF_main_base[0].DXF_entities_attrib_count;
+
+	Result.append(Make_ATTR());
+
 	/* CIRCLE */
 
 	Count_entitie_circle=DXF_main_base[0].DXF_entities_circle_count;
@@ -233,6 +241,14 @@
 	Result.append(Make_CIRCLE());
 
 
+
+	/* POINT */
+
+	Count_entitie_point=DXF_main_base[0].DXF_entities_point_count;
+
+	Result.append(Make_POINT());
+
+
 	/* Close elmt description */
 
 	Result.append(Create_ELMT.DescriptionEnd());
@@ -256,8 +272,8 @@
 
 		dxb_line.x1=DXF_input_entities_line[Count_lines].DXF_entities_line_code_10;
 		dxb_line.x2=DXF_input_entities_line[Count_lines].DXF_entities_line_code_11;
-		dxb_line.y1=DXF_input_entities_line[Count_lines].DXF_entities_line_code_20;
-		dxb_line.y2=DXF_input_entities_line[Count_lines].DXF_entities_line_code_21;
+		dxb_line.y1=-DXF_input_entities_line[Count_lines].DXF_entities_line_code_20;
+		dxb_line.y2=-DXF_input_entities_line[Count_lines].DXF_entities_line_code_21;
 		dxb_line.ltype=DXF_input_entities_line[Count_lines].DXF_entities_line_code_6;
 		dxb_line.layer=DXF_input_entities_line[Count_lines].DXF_entities_line_code_8;
 
@@ -323,7 +339,7 @@
 	 {
 
 		db_arc.center_x=DXF_input_entities_arc[Count_lines].DXF_entities_arc_code_10;
-		db_arc.center_y=DXF_input_entities_arc[Count_lines].DXF_entities_arc_code_20;
+		db_arc.center_y=-DXF_input_entities_arc[Count_lines].DXF_entities_arc_code_20;
 		db_arc.radius=DXF_input_entities_arc[Count_lines].DXF_entities_arc_code_40;
 		db_arc.start_angle=DXF_input_entities_arc[Count_lines].DXF_entities_arc_code_50;
 		db_arc.end_angle=DXF_input_entities_arc[Count_lines].DXF_entities_arc_code_51;
@@ -358,7 +374,7 @@
 	 {
 
 		dxb_attdef2.x=DXF_input_entities_attdef[Count_lines].DXF_entities_attdef_code_10;
-		dxb_attdef2.y=DXF_input_entities_attdef[Count_lines].DXF_entities_attdef_code_20;
+		dxb_attdef2.y=-DXF_input_entities_attdef[Count_lines].DXF_entities_attdef_code_20;
 		dxb_attdef2.rotate=DXF_input_entities_attdef[Count_lines].DXF_entities_attdef_code_50;
 		dxb_attdef2.size=DXF_input_entities_attdef[Count_lines].DXF_entities_attdef_code_40;
 		dxb_attdef2.tag=DXF_input_entities_attdef[Count_lines].DXF_entities_attdef_code_2;
@@ -377,6 +393,43 @@
 	 return Result_attdef;
  }
 
+
+ QString DXF_create_elmt::Make_ATTR()
+ {
+
+	 dxf_attdef dxb_attr;
+	 DXF_Text_control db_txt_check2;
+
+	 Result_attr ="";
+
+	 Count_lines=0;
+
+	 while (Count_lines<=Count_entitie_attr)
+	 {
+
+		dxb_attr.x=DXF_input_entities_attrib[Count_lines].DXF_entities_attrib_code_10;					// x start
+		dxb_attr.y=-DXF_input_entities_attrib[Count_lines].DXF_entities_attrib_code_20;					// y start
+		dxb_attr.rotate=DXF_input_entities_attrib[Count_lines].DXF_entities_attrib_code_50;				//text rotation
+		dxb_attr.size=DXF_input_entities_attrib[Count_lines].DXF_entities_attrib_code_40;				//text height
+		dxb_attr.tag=DXF_input_entities_attrib[Count_lines].DXF_entities_attrib_code_2;					// tag
+
+		db_txt_check2.TextToCheck=DXF_input_entities_attrib[Count_lines].DXF_entities_attrib_code_1;	// value
+
+		dxb_attr.text=db_txt_check2.Text_control();
+
+		Result_attr.append(dxb_attr.Create_ATTDEF());
+
+		Count_lines=Count_lines+1;
+
+
+	 }
+
+	 return Result_attr;
+
+ }
+
+
+
 QString DXF_create_elmt::Make_CIRCLE()
 {
 	dxf_circle db_circle;
@@ -408,3 +461,26 @@
 	return Result_circle;
 
 }
+
+QString DXF_create_elmt::Make_POINT()
+{
+	Result_point="";
+
+	dxf_point db_point;
+
+	Count_lines=0;
+
+	while (Count_lines<=Count_entitie_point)
+	{
+
+		db_point.x1=DXF_input_entities_point[Count_lines].DXF_entities_point_code_10;
+		db_point.y1=-DXF_input_entities_point[Count_lines].DXF_entities_point_code_20;
+		db_point.orientation="n";
+
+		Result_point.append(db_point.Create_POINT());
+
+		Count_lines=Count_lines+1;
+	}
+
+	return Result_point;
+}

Modified: branches/dxftoqet2/dxf_create_elmt.h
===================================================================
--- branches/dxftoqet2/dxf_create_elmt.h	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/dxf_create_elmt.h	2015-09-13 20:19:44 UTC (rev 4202)
@@ -12,6 +12,7 @@
 #include "dxf/dxf_attdef.h"
 #include "dxf/dxf_arc.h"
 #include "dxf/dxf_circle.h"
+#include "dxf/dxf_attr.h"
 
 class DXF_create_elmt : public QMainWindow
 {
@@ -25,7 +26,9 @@
 	QString Make_input();
 	QString Make_terminal();
 	QString Make_ATTDEF();
+	QString Make_ATTR();
 	QString Make_CIRCLE();
+	QString Make_POINT();
 
 	QString Result;
 	QString Result_line;
@@ -33,7 +36,9 @@
 	QString Result_input;
 	QString Result_terminal;
 	QString Result_attdef;
+	QString Result_attr;
 	QString Result_circle;
+	QString Result_point;
 
 
 	double DXF_LIMMAX_x;
@@ -49,7 +54,9 @@
 	int Count_entitie_line;
 	int Count_entitie_arc;
 	int Count_entitie_attdef;
+	int Count_entitie_attr;
 	int Count_entitie_circle;
+	int Count_entitie_point;
 
 	int Count_lines;
 	int Count_for;

Modified: branches/dxftoqet2/dxftoqet_mainwindow.ui
===================================================================
--- branches/dxftoqet2/dxftoqet_mainwindow.ui	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/dxftoqet_mainwindow.ui	2015-09-13 20:19:44 UTC (rev 4202)
@@ -2660,7 +2660,8 @@
    </property>
    <property name="icon">
     <iconset>
-     <normaloff>icon/document-open dxf-csv.png</normaloff>icon/document-open dxf-csv.png</iconset>
+     <normaloff>icon/document-open dxf-csv.png</normaloff>
+     <normalon>icon/document-open dxf-csv.png</normalon>icon/document-open dxf-csv.png</iconset>
    </property>
    <property name="text">
     <string>&amp;Open</string>
@@ -2672,7 +2673,8 @@
   <action name="actionSave_as_elmt">
    <property name="icon">
     <iconset>
-     <normaloff>icon/document-save-as elmt.png</normaloff>icon/document-save-as elmt.png</iconset>
+     <normaloff>icon/document-save-as elmt.png</normaloff>
+     <normalon>icon/document-save-as elmt.png</normalon>icon/document-save-as elmt.png</iconset>
    </property>
    <property name="text">
     <string>&amp;Save as elmt</string>
@@ -2681,7 +2683,8 @@
   <action name="actionSave_as_qet">
    <property name="icon">
     <iconset>
-     <normaloff>icon/document-save-as qet.png</normaloff>icon/document-save-as qet.png</iconset>
+     <normaloff>icon/document-save-as qet.png</normaloff>
+     <normalon>icon/document-save-as qet.png</normalon>icon/document-save-as qet.png</iconset>
    </property>
    <property name="text">
     <string>Save as &amp;qet</string>

Modified: branches/dxftoqet2/src/dxf/dxf_arc.cpp
===================================================================
--- branches/dxftoqet2/src/dxf/dxf_arc.cpp	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/src/dxf/dxf_arc.cpp	2015-09-13 20:19:44 UTC (rev 4202)
@@ -14,7 +14,7 @@
 	Result_line ="";
 
 	db_line.QET_x=center_x - radius;		// 10
-	db_line.QET_y=(-center_y) - radius;		// 20
+	db_line.QET_y=(center_y) - radius;		// 20
 	db_line.QET_width=radius*2;
 	db_line.QET_height=radius*2;
 	db_line.QET_antialias="false";

Added: branches/dxftoqet2/src/dxf/dxf_attr.cpp
===================================================================
--- branches/dxftoqet2/src/dxf/dxf_attr.cpp	                        (rev 0)
+++ branches/dxftoqet2/src/dxf/dxf_attr.cpp	2015-09-13 20:19:44 UTC (rev 4202)
@@ -0,0 +1,29 @@
+#include "dxf_attr.h"
+
+dxf_attr::dxf_attr(QWidget *parent) :
+	QMainWindow(parent)
+{
+}
+
+QString dxf_attr::Create_ATTR()
+{
+
+
+	dxf_base_input db_attr;
+
+	Result_attr="";
+
+	db_attr.QET_x=x;
+	db_attr.QET_y=y;
+	db_attr.QET_size=size;
+	db_attr.QET_tag=tag;
+	db_attr.QET_text=text;
+	db_attr.QET_rotate=rotate;
+
+
+	Result_attr.append(db_attr.Create_input());
+
+	return Result_attr;
+
+
+}

Added: branches/dxftoqet2/src/dxf/dxf_attr.h
===================================================================
--- branches/dxftoqet2/src/dxf/dxf_attr.h	                        (rev 0)
+++ branches/dxftoqet2/src/dxf/dxf_attr.h	2015-09-13 20:19:44 UTC (rev 4202)
@@ -0,0 +1,33 @@
+#ifndef DXF_ATTR_H
+#define DXF_ATTR_H
+
+#include <QMainWindow>
+#include "dxf_base_types/dxf_base_input.h"
+
+class dxf_attr : public QMainWindow
+{
+	Q_OBJECT
+	public:
+	explicit dxf_attr(QWidget *parent = 0);
+
+	QString Result_attr;
+
+
+
+	//QET xml var
+	double x; //10
+	double y; //20
+	int size;
+	QString rotate;
+	QString text;
+	QString tag;
+
+	QString Create_ATTR();
+
+	signals:
+
+	public slots:
+
+};
+
+#endif // DXF_ATTR_H

Modified: branches/dxftoqet2/src/dxf_base_types/dxf_base_input.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_base_types/dxf_base_input.cpp	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/src/dxf_base_types/dxf_base_input.cpp	2015-09-13 20:19:44 UTC (rev 4202)
@@ -39,7 +39,7 @@
 	Result.append(QChar(34));
 	Result.append(" rotate=");
 	Result.append(QChar(34));
-	Result.append(QET_rotate);
+	Result.append("true");
 	Result.append(QChar(34));
 	Result.append(" text=");
 	Result.append(QChar(34));

Modified: branches/dxftoqet2/src/dxf_base_types/dxf_base_line.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_base_types/dxf_base_line.cpp	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/src/dxf_base_types/dxf_base_line.cpp	2015-09-13 20:19:44 UTC (rev 4202)
@@ -80,7 +80,7 @@
 
 	Result.append(" y1=");
 	Result.append(QChar(34));
-	Result.append(QString::number(-y1,'f',2));
+	Result.append(QString::number(y1,'f',2));
 	Result.append(QChar(34));
 
 	Result.append(" x2=");
@@ -90,7 +90,7 @@
 
 	Result.append(" y2=");
 	Result.append(QChar(34));
-	Result.append(QString::number(-y2,'f',2));
+	Result.append(QString::number(y2,'f',2));
 	Result.append(QChar(34));
 
 	Result.append(" />");

Modified: branches/dxftoqet2/src/dxf_data.h
===================================================================
--- branches/dxftoqet2/src/dxf_data.h	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/src/dxf_data.h	2015-09-13 20:19:44 UTC (rev 4202)
@@ -1083,9 +1083,13 @@
 
 	struct DXF_entities_attrib
 	{
+		QString DXF_entities_attrib_code_1;
+		QString DXF_entities_attrib_code_2;
+		QString DXF_entities_attrib_code_3;
+
 		QString DXF_entities_attrib_code_5;
 		QString DXF_entities_attrib_code_6;
-
+		QString DXF_entities_attrib_code_7;
 		QString DXF_entities_attrib_code_8;
 
 		double DXF_entities_attrib_code_10;
@@ -1095,10 +1099,20 @@
 		double DXF_entities_attrib_code_30;
 		double DXF_entities_attrib_code_31;
 
+		double DXF_entities_attrib_code_40;
+		double DXF_entities_attrib_code_50;
+
 		int16_t DXF_entities_attrib_code_62;
 
+		int16_t DXF_entities_attrib_code_70;
+		int16_t DXF_entities_attrib_code_72;
+
+		int16_t DXF_entities_attrib_code_74;
+
 		QString DXF_entities_attrib_code_100[3];
 
+		int16_t DXF_entities_attrib_code_280;
+
 		QString DXF_entities_attrib_code_330;
 	};
 
@@ -1335,11 +1349,17 @@
 		double DXF_entities_line_code_30;
 		double DXF_entities_line_code_31;
 
+		double DXF_entities_line_code_48; // line type scale
+
 		int16_t DXF_entities_line_code_62;
 
 		QString DXF_entities_line_code_100[3];
+		QString DXF_entities_line_code_102[3];
 
-		QString DXF_entities_line_code_330;
+		QString DXF_entities_line_code_330[3];
+
+		int16_t DXF_entities_line_code_370;
+
 	};
 
 	struct DXF_entities_lwpolyline

Modified: branches/dxftoqet2/src/dxf_split.cpp
===================================================================
--- branches/dxftoqet2/src/dxf_split.cpp	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/src/dxf_split.cpp	2015-09-13 20:19:44 UTC (rev 4202)
@@ -13065,6 +13065,8 @@
 
 									line5=DXF_main_base[0].dxf_input[for_count1].toInt();
 									line6=DXF_main_base[0].dxf_input[for_count1+1];
+									DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_40=1;
+									DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_50=0;
 
 
 									switch (line5)
@@ -13079,8 +13081,58 @@
 
 											break;
 
-										case 5:
+										case 1: // attribute value
 
+											if(sw_entities_attrib[1]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_1=line6;
+												sw_entities_attrib[1]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 2: //attribute tag string
+
+											if(sw_entities_attrib[2]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_2=line6;
+												sw_entities_attrib[2]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 5: // handle
+
 											if(sw_entities_attrib[5]==0)
 											{
 												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_5=line6;
@@ -13104,7 +13156,7 @@
 
 											break;
 
-										case 8:
+										case 8: // Layername
 
 											if(sw_entities_attrib[8]==0)
 											{
@@ -13129,7 +13181,7 @@
 
 											break;
 
-										case 10:
+										case 10: // X start
 
 											if(sw_entities_attrib[10]==0)
 											{
@@ -13154,8 +13206,33 @@
 
 											break;
 
-										case 20:
+										case 11: // X alignment point
 
+											if(sw_entities_attrib[11]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_11=line6.toDouble();
+												sw_entities_attrib[11]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 20: //Y start
+
 											if(sw_entities_attrib[20]==0)
 											{
 												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_20=line6.toDouble();
@@ -13179,8 +13256,33 @@
 
 											break;
 
-										case 30:
+										case 21: //Y alignment point
 
+											if(sw_entities_attrib[21]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_21=line6.toDouble();
+												sw_entities_attrib[21]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 30: // Z start
+
 											if(sw_entities_attrib[30]==0)
 											{
 												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_30=line6.toDouble();
@@ -13204,8 +13306,194 @@
 
 											break;
 
+										case 31: // Z alignment point
 
 
+											if(sw_entities_attrib[31]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_31=line6.toDouble();
+												sw_entities_attrib[31]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 40: // Text height
+
+											//DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_40=1;
+
+											if(sw_entities_attrib[40]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_40=line6.toDouble();
+												sw_entities_attrib[40]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 50: // rotation
+
+											//DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_50=0;
+
+											if(sw_entities_attrib[50]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_50=line6.toDouble();
+												sw_entities_attrib[50]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 62: //
+
+
+
+											if(sw_entities_attrib[62]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_62=line6.toInt();
+												sw_entities_attrib[62]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 70: //
+
+
+
+											if(sw_entities_attrib[70]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_70=line6.toInt();
+												sw_entities_attrib[70]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 72: //
+
+
+
+											if(sw_entities_attrib[72]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_72=line6.toInt();
+												sw_entities_attrib[72]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 74: //
+
+
+
+											if(sw_entities_attrib[74]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_74=line6.toInt();
+												sw_entities_attrib[74]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
 										case 100:
 
 											if (entities_ATTRIB_count2_100>2)
@@ -13231,8 +13519,35 @@
 
 											break;
 
-										case 330:
+										case 280: //
 
+
+
+											if(sw_entities_attrib[280]==0)
+											{
+												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_280=line6.toInt();
+												sw_entities_attrib[280]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_ATTRIB_count2));
+												Log_1.append(" ATTRIB \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");
+											}
+
+											break;
+
+										case 330: // soft pointer
+
 											if(sw_entities_attrib[330]==0)
 											{
 												DXF_input_entities_attrib[entities_ATTRIB_count2].DXF_entities_attrib_code_330=line6;
@@ -15839,6 +16154,8 @@
 								}
 
 								entities_LINE_count2_100=0;
+								entities_LINE_count2_102=0;
+								entities_LINE_count2_330=0;
 
 								while (entities_st2==0 and entities_LINE_count2<99999)
 								{
@@ -15860,7 +16177,7 @@
 
 											break;
 
-										case 5:
+										case 5: // Handle
 
 											if(sw_entities_line[5]==0)
 											{
@@ -15885,7 +16202,7 @@
 
 											break;
 
-										case 6:
+										case 6: //Line type
 
 											if(sw_entities_line[6]==0)
 											{
@@ -15910,7 +16227,7 @@
 
 											break;
 
-										case 8:
+										case 8: // Layer name
 
 											if(sw_entities_line[8]==0)
 											{
@@ -15935,7 +16252,7 @@
 
 											break;
 
-										case 10:
+										case 10: // X start
 
 											if(sw_entities_line[10]==0)
 											{
@@ -15960,7 +16277,7 @@
 
 											break;
 
-										case 11:
+										case 11: // X end
 
 											if(sw_entities_line[11]==0)
 											{
@@ -15985,7 +16302,7 @@
 
 											break;
 
-										case 20:
+										case 20: //Y start
 
 											if(sw_entities_line[20]==0)
 											{
@@ -16010,7 +16327,7 @@
 
 											break;
 
-										case 21:
+										case 21: // Y end
 
 											if(sw_entities_line[21]==0)
 											{
@@ -16035,7 +16352,7 @@
 
 											break;
 
-										case 30:
+										case 30:  // Z start
 
 											if(sw_entities_line[30]==0)
 											{
@@ -16060,7 +16377,7 @@
 
 											break;
 
-										case 31:
+										case 31: // Z end
 
 											if(sw_entities_line[31]==0)
 											{
@@ -16085,8 +16402,34 @@
 
 											break;
 
-										case 62:
 
+										case 48: // Z end
+
+											if(sw_entities_line[48]==0)
+											{
+												DXF_input_entities_line[entities_LINE_count2].DXF_entities_line_code_48=line6.toDouble();
+												sw_entities_line[48]=1;
+											}
+											else
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_LINE_count2));
+												Log_1.append(" LINE \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");
+											}
+
+											break;
+
+										case 62: // Color nr
+
 											if(sw_entities_line[62]==0)
 											{
 												DXF_input_entities_line[entities_LINE_count2].DXF_entities_line_code_62=line6.toDouble();
@@ -16112,7 +16455,7 @@
 
 
 
-										case 100:
+										case 100: //subclass marker
 
 											if (entities_LINE_count2_100>2)
 											{
@@ -16137,12 +16480,62 @@
 
 											break;
 
-										case 330:
+										case 102: //subclass marker
 
-											if(sw_entities_line[330]==0)
+											if (entities_LINE_count2_102>2)
 											{
-												DXF_input_entities_line[entities_LINE_count2].DXF_entities_line_code_330=line6;
-												sw_entities_line[330]=1;
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_LINE_count2));
+												Log_1.append(" LINE \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");
+											 }
+											else
+											 {
+												 DXF_input_entities_line[entities_LINE_count2].DXF_entities_line_code_102[entities_LINE_count2_102]=line6.toInt();
+												 entities_LINE_count2_102=entities_LINE_count2_102+1;
+											 }
+
+											break;
+
+										case 330: // soft pointer
+
+											if (entities_LINE_count2_330>2)
+											{
+												Log_1.append("Find in ENTITIES code ");
+												Log_1.append(QString::number(entities_LINE_count2));
+												Log_1.append(" LINE \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");
+											 }
+											else
+											 {
+												 DXF_input_entities_line[entities_LINE_count2].DXF_entities_line_code_330[entities_LINE_count2_330]=line6.toInt();
+												 entities_LINE_count2_330=entities_LINE_count2_330+1;
+											 }
+
+											break;
+
+										case 370: // line weight
+
+											if(sw_entities_line[370]==0)
+											{
+												DXF_input_entities_line[entities_LINE_count2].DXF_entities_line_code_370=line6.toInt();
+												sw_entities_line[370]=1;
 											}
 											else
 											{
@@ -16162,6 +16555,8 @@
 
 											break;
 
+
+
 										default:
 											Log_1.append("Find in entities LINE \n");
 											Log_1.append("Line :" );

Modified: branches/dxftoqet2/src/dxf_split.h
===================================================================
--- branches/dxftoqet2/src/dxf_split.h	2015-09-13 17:17:42 UTC (rev 4201)
+++ branches/dxftoqet2/src/dxf_split.h	2015-09-13 20:19:44 UTC (rev 4202)
@@ -129,8 +129,12 @@
 	int entities_INSERT_count2_100;
 	int entities_LEADER_count2_100;
 	int entities_LIGHT_count2_100;
+
 	int entities_LINE_count2_100;
+	int entities_LINE_count2_102;
+	int entities_LINE_count2_330;
 
+
 	int entities_LWPOLYLINE_count2_10;
 	int entities_LWPOLYLINE_count2_20;
 	int entities_LWPOLYLINE_count2_100;


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