<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/index.php?action=history&amp;feed=atom&amp;title=SOC_Accepted_Proposals</id>
	<title>SOC Accepted Proposals - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/index.php?action=history&amp;feed=atom&amp;title=SOC_Accepted_Proposals"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;action=history"/>
	<updated>2026-04-10T08:20:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=74054&amp;oldid=prev</id>
		<title>NeoPhyte Rep: /* SOC Accepted Proposals */ Expanded OCAL Acronym</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=74054&amp;oldid=prev"/>
		<updated>2011-12-02T16:45:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;SOC Accepted Proposals: &lt;/span&gt; Expanded OCAL Acronym&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:45, 2 December 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.csse.monash.edu.au/~mwybrow/soc-proposal.txt Connectors] - [http://code.samediff.net/ Michael Wybrow] [[UsingTheConnectorTool]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.csse.monash.edu.au/~mwybrow/soc-proposal.txt Connectors] - [http://code.samediff.net/ Michael Wybrow] [[UsingTheConnectorTool]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.rose-hulman.edu/~yipdw/inkscape-proposal.txt Inkboard] - David Yip ([[InkboardIntegrationSchedule]]) ([[Inkboard2.0]])&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.rose-hulman.edu/~yipdw/inkscape-proposal.txt Inkboard] - David Yip ([[InkboardIntegrationSchedule]]) ([[Inkboard2.0]])&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://developer.berlios.de/docman/display_doc.php?docid=934&amp;amp;group_id=4098 OCAL Interface] - [https://developer.berlios.de/users/gsteff/ Greg Steffensen] (project being developed at [http://developer.berlios.de/projects/ocalhelper Berlios])&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://developer.berlios.de/docman/display_doc.php?docid=934&amp;amp;group_id=4098 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Open Clip Art Library (&lt;/ins&gt;OCAL&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) &lt;/ins&gt;Interface] - [https://developer.berlios.de/users/gsteff/ Greg Steffensen] (project being developed at [http://developer.berlios.de/projects/ocalhelper Berlios])&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* DXF Import / Export (proposal below) - Matthew Squires&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* DXF Import / Export (proposal below) - Matthew Squires&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NeoPhyte Rep</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=7167&amp;oldid=prev</id>
		<title>GigaClon: Categorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=7167&amp;oldid=prev"/>
		<updated>2006-06-21T16:05:53Z</updated>

		<summary type="html">&lt;p&gt;Categorization&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:05, 21 June 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l97&quot;&gt;Line 97:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 97:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== ACI to RGB conversion ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== ACI to RGB conversion ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ACI stands for &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;AutoCAD&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;color index. It is a table of codes which describe color in DXF files. Here is some code to convert ACI to RGB, which I've written for my simple DXF reader. Resulting R, G and B values are 8-bit, in range 0-255. You can create a macro RGB(R,G,B) to convert it to proper colorspace values. I hope it can help a bit. The code is released under GPL.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ACI stands for AutoCAD color index. It is a table of codes which describe color in DXF files. Here is some code to convert ACI to RGB, which I've written for my simple DXF reader. Resulting R, G and B values are 8-bit, in range 0-255. You can create a macro RGB(R,G,B) to convert it to proper colorspace values. I hope it can help a bit. The code is released under GPL.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;P.S. I know it is not the best place for pasting a code. Please remove it from this place, when it is no more useful or if it can be placed somewhere else.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;P.S. I know it is not the best place for pasting a code. Please remove it from this place, when it is no more useful or if it can be placed somewhere else.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l172&quot;&gt;Line 172:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 172:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	return RGB(R,G,B);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	return RGB(R,G,B);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Wiki Attic]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>GigaClon</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4800&amp;oldid=prev</id>
		<title>Conversion script: link fix</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4800&amp;oldid=prev"/>
		<updated>2006-01-22T02:33:46Z</updated>

		<summary type="html">&lt;p&gt;link fix&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== SOC Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
Four proposals were accepted.&lt;br /&gt;
&lt;br /&gt;
* [http://www.csse.monash.edu.au/~mwybrow/soc-proposal.txt Connectors] - [http://code.samediff.net/ Michael Wybrow] [[UsingTheConnectorTool]]&lt;br /&gt;
* [http://www.rose-hulman.edu/~yipdw/inkscape-proposal.txt Inkboard] - David Yip ([[InkboardIntegrationSchedule]]) ([[Inkboard2.0]])&lt;br /&gt;
* [https://developer.berlios.de/docman/display_doc.php?docid=934&amp;amp;group_id=4098 OCAL Interface] - [https://developer.berlios.de/users/gsteff/ Greg Steffensen] (project being developed at [http://developer.berlios.de/projects/ocalhelper Berlios])&lt;br /&gt;
* DXF Import / Export (proposal below) - Matthew Squires&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DXF import/export ===&lt;br /&gt;
The proposal pretty much follows the Perl funding outline that was linked on the SOC website.&lt;br /&gt;
&lt;br /&gt;
Name: Matthew Squires&lt;br /&gt;
&lt;br /&gt;
Project Title: Creation of a library for the import/export of dxf in Inkscape&lt;br /&gt;
&lt;br /&gt;
Benefits to Inkscape&lt;br /&gt;
&lt;br /&gt;
A library for importing/exporting dxf files would make Inkscape a more flexible&lt;br /&gt;
piece of software especially for those that create technical drawings.  For&lt;br /&gt;
example, I have used Macromedia Freehand to import dxf technical drawings so I&lt;br /&gt;
could add artistic elements for papers and presentations.  Directly importing and&lt;br /&gt;
exporting dxf in Inkscape would make Inkscape a more attractive piece of software&lt;br /&gt;
for those that already have CAD drawings but would like to make them &amp;quot;presentable.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Synopsis&lt;br /&gt;
&lt;br /&gt;
I will create a library that will import/export data to/from Inkscape from/to the&lt;br /&gt;
dxf format.  This library will directly import all of the basic properties common&lt;br /&gt;
to the dxf format and Inkscape (e.g. lines and layers).   Objects that do not&lt;br /&gt;
directly convert (e.g. spirals) will be supported by using extra information to&lt;br /&gt;
properly complete the translation.  It should be assumed that any 3D data contained&lt;br /&gt;
in the dxf will be flattened.&lt;br /&gt;
&lt;br /&gt;
Deliverables&lt;br /&gt;
&lt;br /&gt;
The conversion functions will be made to incorporate into Inkscape via a library.&lt;br /&gt;
I will also include documentation of the library including examples.  I would&lt;br /&gt;
like to create a svg2dxf and a dxf2svg directly from the code, but I do not want&lt;br /&gt;
to commit to delivery of stand-alone programs in the time allotted.&lt;br /&gt;
&lt;br /&gt;
Project Details&lt;br /&gt;
&lt;br /&gt;
I will create a library that will directly convert all of the directly convertible&lt;br /&gt;
information between a dxf/svg.  That includes but is not limited to: lines,&lt;br /&gt;
splines, layers, and text.  All 3D information will be flattened but I would&lt;br /&gt;
imagine that in the future a simple method for translating elevation to layers&lt;br /&gt;
could be implemented, but not this summer.  Because dxf does not include units this&lt;br /&gt;
information will need to be supplied for all conversions.&lt;br /&gt;
&lt;br /&gt;
Items that require additional information will be converted if the information is&lt;br /&gt;
given. This is done in other programs (i.e. [[FlexPDE]]) that require more information&lt;br /&gt;
than dxf can provide.  An example would be importing a spiral from dxf into svg. &lt;br /&gt;
Additional tags can be applied to the dxf to supply the additional information (e.g.&lt;br /&gt;
revolution) to create a spiral in Inkscape.  Some items that would be supported in&lt;br /&gt;
dxf import are spirals, stars, color, fills, and text on a path.  On the other hand&lt;br /&gt;
a spiral can be exported to dxf as a series of splines.  The user can set the export&lt;br /&gt;
resolution, or use the default resolution.  Some items that would be exported to dxf&lt;br /&gt;
are spirals and stars.  I would like to work on exporting text on a path, but at&lt;br /&gt;
this time I won’t promise that it will be functional until I understand better how&lt;br /&gt;
Inkscape performs this task.&lt;br /&gt;
&lt;br /&gt;
Project Schedule&lt;br /&gt;
&lt;br /&gt;
First I will take a few days to better understand the Inkscape file format.  Then I&lt;br /&gt;
will break the schedule into two pieces: svg-&amp;gt;dxf and dxf-&amp;gt;svg.  For the dxf-&amp;gt;svg I&lt;br /&gt;
estimate that the directly convertible code (DCC) can be written in a 2-3 days, the&lt;br /&gt;
non-direct conversion code (NDCC) in 3-4.  I think the svg-&amp;gt;dxf DCC will take 3-4&lt;br /&gt;
days.  The NDCC is a little more complicated because extra information will need to&lt;br /&gt;
be processed, so I am going to estimate about a week for that code. The total is&lt;br /&gt;
about 2.5 weeks.  As mentioned on the Inkscape wiki all projects take about pi times&lt;br /&gt;
longer to complete, so the completion of this code should be reasonable in a summer.&lt;br /&gt;
The documentation code should be written at the same time functions are written. &lt;br /&gt;
Example programs will be developed along the way as result of testing.&lt;br /&gt;
&lt;br /&gt;
Bio&lt;br /&gt;
&lt;br /&gt;
I am a physics Phd candidate at the University of Colorado and I have recently been&lt;br /&gt;
using Inkscape to create figures for papers and presentations.   I have been coding&lt;br /&gt;
in C++ for about 5 years.  I am self-taught in C++, but have some formal education&lt;br /&gt;
in other languages.  I would say I am a proficient programmer and can create good&lt;br /&gt;
code.  I have mostly worked on      ing magnetic fields, but part of my code reads&lt;br /&gt;
some basic information from dxf files to define the regions of interest (ROI).  I&lt;br /&gt;
am familiar with the dxf standard and what it takes to read dxf.  I have looked at&lt;br /&gt;
open source dxf libraries, specifically dime and QCad.  I also recently found&lt;br /&gt;
Blender reads dxf files.  I would have no problem pulling code from those sources.&lt;br /&gt;
&lt;br /&gt;
I am familiar with the SVG format, and actually looked at reading ROI information&lt;br /&gt;
from SVG's but for some reason several years ago chose dxf instead (probably because&lt;br /&gt;
at the time I found better CAD editors).  I have also used a variant of XML in&lt;br /&gt;
[[LabVIEW]] to control the parameters of my experiment.  A lab mate performed most of&lt;br /&gt;
the coding, but I have a working knowledge of XML.  I think there is open source&lt;br /&gt;
code for reading XML tags, so I would like to find some code that already reads the&lt;br /&gt;
XML tags and information from a file to hurry the project along.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ACI to RGB conversion ===&lt;br /&gt;
ACI stands for [[AutoCAD]] color index. It is a table of codes which describe color in DXF files. Here is some code to convert ACI to RGB, which I've written for my simple DXF reader. Resulting R, G and B values are 8-bit, in range 0-255. You can create a macro RGB(R,G,B) to convert it to proper colorspace values. I hope it can help a bit. The code is released under GPL.&lt;br /&gt;
&lt;br /&gt;
P.S. I know it is not the best place for pasting a code. Please remove it from this place, when it is no more useful or if it can be placed somewhere else.&lt;br /&gt;
&lt;br /&gt;
 float aci_to_rgb(int aci)&lt;br /&gt;
 {&lt;br /&gt;
 	aci = abs(aci);			// hidden layers have negative color values&lt;br /&gt;
 	if (aci&amp;lt;10 || aci&amp;gt;249)	// values of these ranges are special colors&lt;br /&gt;
 	{&lt;br /&gt;
 		switch (aci)&lt;br /&gt;
 		{&lt;br /&gt;
 			case 1: return RGB(255,0,0);		// basic colors&lt;br /&gt;
 			case 2: return RGB(255,255,0);&lt;br /&gt;
 			case 3: return RGB(0,255,0);&lt;br /&gt;
 			case 4: return RGB(0,255,255);&lt;br /&gt;
 			case 5: return RGB(0,0,255);&lt;br /&gt;
 			case 6: return RGB(255,0,255);&lt;br /&gt;
 			case 7: return RGB(255,255,255);&lt;br /&gt;
 			case 8: return RGB(128,128,128);&lt;br /&gt;
 			case 9: return RGB(192,192,192);&lt;br /&gt;
 			case 250: return RGB(51,51,51);		// grey shades&lt;br /&gt;
 			case 251: return RGB(91,91,91);&lt;br /&gt;
 			case 252: return RGB(132,132,132);&lt;br /&gt;
 			case 253: return RGB(173,173,173);&lt;br /&gt;
 			case 254: return RGB(214,214,214);&lt;br /&gt;
 			case 255: return RGB(255,255,255);&lt;br /&gt;
 			case 256:							// &amp;quot;by layer&amp;quot;&lt;br /&gt;
 			// Here you should decide how to handle &amp;quot;by layer&amp;quot; logical color.&lt;br /&gt;
 			// Maybe it is a good idea to return a value like -1.&lt;br /&gt;
 			// The outer code will find what is the color of the layer which&lt;br /&gt;
 			// this entity belongs to.&lt;br /&gt;
 				return -1;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	// for all the rest of ACI codes&lt;br /&gt;
 	float H,S,L,	R,G,B;&lt;br /&gt;
 	int remainder = aci % 10;					&lt;br /&gt;
 	H = 1.5f * (aci - remainder - 10);	// hue in range 0-360&lt;br /&gt;
 	S = ((aci % 2) ? 0.5f : 1.0f);		// odd colors have 50% of saturation, even - 100%&lt;br /&gt;
 	// set lighteness, the last digit of aci code stands for this&lt;br /&gt;
 	if (reminder == 0 || reminder == 1) L = 1.0f; &lt;br /&gt;
 	if (reminder == 2 || reminder == 3) L = 0.8f;&lt;br /&gt;
 	if (reminder == 4 || reminder == 5) L = 0.6f;&lt;br /&gt;
 	if (reminder == 6 || reminder == 7) L = 0.5f;&lt;br /&gt;
 	if (reminder == 8 || reminder == 9) L = 0.3f;&lt;br /&gt;
 	// here we have H,S,L set already&lt;br /&gt;
 	// let's convert it to RGB, first without consideration of S and L&lt;br /&gt;
 	if (H&amp;lt;=120)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = (120-H)/60;&lt;br /&gt;
 		G = H/60;&lt;br /&gt;
 		B = 0;&lt;br /&gt;
 	}&lt;br /&gt;
  	if (H&amp;gt;120 &amp;amp;&amp;amp; H&amp;lt;=240)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = 0;&lt;br /&gt;
 		G = (240-H)/60;&lt;br /&gt;
 		B = (H-120)/60;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (H&amp;gt;240 &amp;amp;&amp;amp; H&amp;lt;=360)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = (H-240)/60;&lt;br /&gt;
 		G = 0;&lt;br /&gt;
 		B = (360-H)/60;&lt;br /&gt;
 	}&lt;br /&gt;
 	R = min(R, 1);&lt;br /&gt;
 	G = min(G, 1);&lt;br /&gt;
 	B = min(B, 1);&lt;br /&gt;
 	// influence of S and L&lt;br /&gt;
 	float max_value = max(R,max(G,B));&lt;br /&gt;
 	R = (max_value-S*(max_value-R)) * L * 255;&lt;br /&gt;
 	G = (max_value-S*(max_value-G)) * L * 255;&lt;br /&gt;
 	B = (max_value-S*(max_value-B)) * L * 255;&lt;br /&gt;
 	return RGB(R,G,B);&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Conversion script</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4815&amp;oldid=prev</id>
		<title>JonCruz: despam</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4815&amp;oldid=prev"/>
		<updated>2005-12-17T07:43:52Z</updated>

		<summary type="html">&lt;p&gt;despam&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== SOC Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
Four proposals were accepted.&lt;br /&gt;
&lt;br /&gt;
* [http://www.csse.monash.edu.au/~mwybrow/soc-proposal.txt Connectors] - [http://code.samediff.net/ Michael Wybrow] [[UsingTheConnectorTool]]&lt;br /&gt;
* [http://www.rose-hulman.edu/~yipdw/inkscape-proposal.txt Inkboard] - David Yip ([[InkboardIntegrationSchedule]]) ([[Inkboard2.0]])&lt;br /&gt;
* [https://developer.berlios.de/docman/display_doc.php?docid=934&amp;amp;group_id=4098 OCAL Interface] - [https://developer.berlios.de/users/gsteff/ Greg Steffensen] (project being developed at [http://developer.berlios.de/projects/ocalhelper Berlios])&lt;br /&gt;
* DXF Import / Export (proposal below) - Matthew Squires&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DXF import/export ===&lt;br /&gt;
The proposal pretty much follows the Perl funding outline that was linked on the SOC website.&lt;br /&gt;
&lt;br /&gt;
Name: Matthew Squires&lt;br /&gt;
&lt;br /&gt;
Project Title: Creation of a library for the import/export of dxf in Inkscape&lt;br /&gt;
&lt;br /&gt;
Benefits to Inkscape&lt;br /&gt;
&lt;br /&gt;
A library for importing/exporting dxf files would make Inkscape a more flexible&lt;br /&gt;
piece of software especially for those that create technical drawings.  For&lt;br /&gt;
example, I have used Macromedia Freehand to import dxf technical drawings so I&lt;br /&gt;
could add artistic elements for papers and presentations.  Directly importing and&lt;br /&gt;
exporting dxf in Inkscape would make Inkscape a more attractive piece of software&lt;br /&gt;
for those that already have CAD drawings but would like to make them &amp;quot;presentable.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Synopsis&lt;br /&gt;
&lt;br /&gt;
I will create a library that will import/export data to/from Inkscape from/to the&lt;br /&gt;
dxf format.  This library will directly import all of the basic properties common&lt;br /&gt;
to the dxf format and Inkscape (e.g. lines and layers).   Objects that do not&lt;br /&gt;
directly convert (e.g. spirals) will be supported by using extra information to&lt;br /&gt;
properly complete the translation.  It should be assumed that any 3D data contained&lt;br /&gt;
in the dxf will be flattened.&lt;br /&gt;
&lt;br /&gt;
Deliverables&lt;br /&gt;
&lt;br /&gt;
The conversion functions will be made to incorporate into Inkscape via a library.&lt;br /&gt;
I will also include documentation of the library including examples.  I would&lt;br /&gt;
like to create a svg2dxf and a dxf2svg directly from the code, but I do not want&lt;br /&gt;
to commit to delivery of stand-alone programs in the time allotted.&lt;br /&gt;
&lt;br /&gt;
Project Details&lt;br /&gt;
&lt;br /&gt;
I will create a library that will directly convert all of the directly convertible&lt;br /&gt;
information between a dxf/svg.  That includes but is not limited to: lines,&lt;br /&gt;
splines, layers, and text.  All 3D information will be flattened but I would&lt;br /&gt;
imagine that in the future a simple method for translating elevation to layers&lt;br /&gt;
could be implemented, but not this summer.  Because dxf does not include units this&lt;br /&gt;
information will need to be supplied for all conversions.&lt;br /&gt;
&lt;br /&gt;
Items that require additional information will be converted if the information is&lt;br /&gt;
given. This is done in other programs (i.e. FlexPDE) that require more information&lt;br /&gt;
than dxf can provide.  An example would be importing a spiral from dxf into svg. &lt;br /&gt;
Additional tags can be applied to the dxf to supply the additional information (e.g.&lt;br /&gt;
revolution) to create a spiral in Inkscape.  Some items that would be supported in&lt;br /&gt;
dxf import are spirals, stars, color, fills, and text on a path.  On the other hand&lt;br /&gt;
a spiral can be exported to dxf as a series of splines.  The user can set the export&lt;br /&gt;
resolution, or use the default resolution.  Some items that would be exported to dxf&lt;br /&gt;
are spirals and stars.  I would like to work on exporting text on a path, but at&lt;br /&gt;
this time I won’t promise that it will be functional until I understand better how&lt;br /&gt;
Inkscape performs this task.&lt;br /&gt;
&lt;br /&gt;
Project Schedule&lt;br /&gt;
&lt;br /&gt;
First I will take a few days to better understand the Inkscape file format.  Then I&lt;br /&gt;
will break the schedule into two pieces: svg-&amp;gt;dxf and dxf-&amp;gt;svg.  For the dxf-&amp;gt;svg I&lt;br /&gt;
estimate that the directly convertible code (DCC) can be written in a 2-3 days, the&lt;br /&gt;
non-direct conversion code (NDCC) in 3-4.  I think the svg-&amp;gt;dxf DCC will take 3-4&lt;br /&gt;
days.  The NDCC is a little more complicated because extra information will need to&lt;br /&gt;
be processed, so I am going to estimate about a week for that code. The total is&lt;br /&gt;
about 2.5 weeks.  As mentioned on the Inkscape wiki all projects take about pi times&lt;br /&gt;
longer to complete, so the completion of this code should be reasonable in a summer.&lt;br /&gt;
The documentation code should be written at the same time functions are written. &lt;br /&gt;
Example programs will be developed along the way as result of testing.&lt;br /&gt;
&lt;br /&gt;
Bio&lt;br /&gt;
&lt;br /&gt;
I am a physics Phd candidate at the University of Colorado and I have recently been&lt;br /&gt;
using Inkscape to create figures for papers and presentations.   I have been coding&lt;br /&gt;
in C++ for about 5 years.  I am self-taught in C++, but have some formal education&lt;br /&gt;
in other languages.  I would say I am a proficient programmer and can create good&lt;br /&gt;
code.  I have mostly worked on      ing magnetic fields, but part of my code reads&lt;br /&gt;
some basic information from dxf files to define the regions of interest (ROI).  I&lt;br /&gt;
am familiar with the dxf standard and what it takes to read dxf.  I have looked at&lt;br /&gt;
open source dxf libraries, specifically dime and QCad.  I also recently found&lt;br /&gt;
Blender reads dxf files.  I would have no problem pulling code from those sources.&lt;br /&gt;
&lt;br /&gt;
I am familiar with the SVG format, and actually looked at reading ROI information&lt;br /&gt;
from SVG's but for some reason several years ago chose dxf instead (probably because&lt;br /&gt;
at the time I found better CAD editors).  I have also used a variant of XML in&lt;br /&gt;
LabVIEW to control the parameters of my experiment.  A lab mate performed most of&lt;br /&gt;
the coding, but I have a working knowledge of XML.  I think there is open source&lt;br /&gt;
code for reading XML tags, so I would like to find some code that already reads the&lt;br /&gt;
XML tags and information from a file to hurry the project along.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ACI to RGB conversion ===&lt;br /&gt;
ACI stands for AutoCAD color index. It is a table of codes which describe color in DXF files. Here is some code to convert ACI to RGB, which I've written for my simple DXF reader. Resulting R, G and B values are 8-bit, in range 0-255. You can create a macro RGB(R,G,B) to convert it to proper colorspace values. I hope it can help a bit. The code is released under GPL.&lt;br /&gt;
&lt;br /&gt;
P.S. I know it is not the best place for pasting a code. Please remove it from this place, when it is no more useful or if it can be placed somewhere else.&lt;br /&gt;
&lt;br /&gt;
 float aci_to_rgb(int aci)&lt;br /&gt;
 {&lt;br /&gt;
 	aci = abs(aci);			// hidden layers have negative color values&lt;br /&gt;
 	if (aci&amp;lt;10 || aci&amp;gt;249)	// values of these ranges are special colors&lt;br /&gt;
 	{&lt;br /&gt;
 		switch (aci)&lt;br /&gt;
 		{&lt;br /&gt;
 			case 1: return RGB(255,0,0);		// basic colors&lt;br /&gt;
 			case 2: return RGB(255,255,0);&lt;br /&gt;
 			case 3: return RGB(0,255,0);&lt;br /&gt;
 			case 4: return RGB(0,255,255);&lt;br /&gt;
 			case 5: return RGB(0,0,255);&lt;br /&gt;
 			case 6: return RGB(255,0,255);&lt;br /&gt;
 			case 7: return RGB(255,255,255);&lt;br /&gt;
 			case 8: return RGB(128,128,128);&lt;br /&gt;
 			case 9: return RGB(192,192,192);&lt;br /&gt;
 			case 250: return RGB(51,51,51);		// grey shades&lt;br /&gt;
 			case 251: return RGB(91,91,91);&lt;br /&gt;
 			case 252: return RGB(132,132,132);&lt;br /&gt;
 			case 253: return RGB(173,173,173);&lt;br /&gt;
 			case 254: return RGB(214,214,214);&lt;br /&gt;
 			case 255: return RGB(255,255,255);&lt;br /&gt;
 			case 256:							// &amp;quot;by layer&amp;quot;&lt;br /&gt;
 			// Here you should decide how to handle &amp;quot;by layer&amp;quot; logical color.&lt;br /&gt;
 			// Maybe it is a good idea to return a value like -1.&lt;br /&gt;
 			// The outer code will find what is the color of the layer which&lt;br /&gt;
 			// this entity belongs to.&lt;br /&gt;
 				return -1;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	// for all the rest of ACI codes&lt;br /&gt;
 	float H,S,L,	R,G,B;&lt;br /&gt;
 	int remainder = aci % 10;					&lt;br /&gt;
 	H = 1.5f * (aci - remainder - 10);	// hue in range 0-360&lt;br /&gt;
 	S = ((aci % 2) ? 0.5f : 1.0f);		// odd colors have 50% of saturation, even - 100%&lt;br /&gt;
 	// set lighteness, the last digit of aci code stands for this&lt;br /&gt;
 	if (reminder == 0 || reminder == 1) L = 1.0f; &lt;br /&gt;
 	if (reminder == 2 || reminder == 3) L = 0.8f;&lt;br /&gt;
 	if (reminder == 4 || reminder == 5) L = 0.6f;&lt;br /&gt;
 	if (reminder == 6 || reminder == 7) L = 0.5f;&lt;br /&gt;
 	if (reminder == 8 || reminder == 9) L = 0.3f;&lt;br /&gt;
 	// here we have H,S,L set already&lt;br /&gt;
 	// let's convert it to RGB, first without consideration of S and L&lt;br /&gt;
 	if (H&amp;lt;=120)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = (120-H)/60;&lt;br /&gt;
 		G = H/60;&lt;br /&gt;
 		B = 0;&lt;br /&gt;
 	}&lt;br /&gt;
  	if (H&amp;gt;120 &amp;amp;&amp;amp; H&amp;lt;=240)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = 0;&lt;br /&gt;
 		G = (240-H)/60;&lt;br /&gt;
 		B = (H-120)/60;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (H&amp;gt;240 &amp;amp;&amp;amp; H&amp;lt;=360)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = (H-240)/60;&lt;br /&gt;
 		G = 0;&lt;br /&gt;
 		B = (360-H)/60;&lt;br /&gt;
 	}&lt;br /&gt;
 	R = min(R, 1);&lt;br /&gt;
 	G = min(G, 1);&lt;br /&gt;
 	B = min(B, 1);&lt;br /&gt;
 	// influence of S and L&lt;br /&gt;
 	float max_value = max(R,max(G,B));&lt;br /&gt;
 	R = (max_value-S*(max_value-R)) * L * 255;&lt;br /&gt;
 	G = (max_value-S*(max_value-G)) * L * 255;&lt;br /&gt;
 	B = (max_value-S*(max_value-B)) * L * 255;&lt;br /&gt;
 	return RGB(R,G,B);&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>JonCruz</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4813&amp;oldid=prev</id>
		<title>67.50.76.50: despam</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4813&amp;oldid=prev"/>
		<updated>2005-12-15T22:49:41Z</updated>

		<summary type="html">&lt;p&gt;despam&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== SOC Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
Four proposals were accepted.&lt;br /&gt;
&lt;br /&gt;
* [http://www.csse.monash.edu.au/~mwybrow/soc-proposal.txt Connectors] - [http://code.samediff.net/ Michael Wybrow] [[UsingTheConnectorTool]]&lt;br /&gt;
* [http://www.rose-hulman.edu/~yipdw/inkscape-proposal.txt Inkboard] - David Yip ([[InkboardIntegrationSchedule]]) ([[Inkboard2.0]])&lt;br /&gt;
* [https://developer.berlios.de/docman/display_doc.php?docid=934&amp;amp;group_id=4098 OCAL Interface] - [https://developer.berlios.de/users/gsteff/ Greg Steffensen] (project being developed at [http://developer.berlios.de/projects/ocalhelper Berlios])&lt;br /&gt;
* DXF Import / Export (proposal below) - Matthew Squires&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DXF import/export ===&lt;br /&gt;
The proposal pretty much follows the Perl funding outline that was linked on the SOC website.&lt;br /&gt;
&lt;br /&gt;
Name: Matthew Squires&lt;br /&gt;
&lt;br /&gt;
Project Title: Creation of a library for the import/export of dxf in Inkscape&lt;br /&gt;
&lt;br /&gt;
Benefits to Inkscape&lt;br /&gt;
&lt;br /&gt;
A library for importing/exporting dxf files would make Inkscape a more flexible&lt;br /&gt;
piece of software especially for those that create technical drawings.  For&lt;br /&gt;
example, I have used Macromedia Freehand to import dxf technical drawings so I&lt;br /&gt;
could add artistic elements for papers and presentations.  Directly importing and&lt;br /&gt;
exporting dxf in Inkscape would make Inkscape a more attractive piece of software&lt;br /&gt;
for those that already have CAD drawings but would like to make them &amp;quot;presentable.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Synopsis&lt;br /&gt;
&lt;br /&gt;
I will create a library that will import/export data to/from Inkscape from/to the&lt;br /&gt;
dxf format.  This library will directly import all of the basic properties common&lt;br /&gt;
to the dxf format and Inkscape (e.g. lines and layers).   Objects that do not&lt;br /&gt;
directly convert (e.g. spirals) will be supported by using extra information to&lt;br /&gt;
properly complete the translation.  It should be assumed that any 3D data contained&lt;br /&gt;
in the dxf will be flattened.&lt;br /&gt;
&lt;br /&gt;
Deliverables&lt;br /&gt;
&lt;br /&gt;
The conversion functions will be made to incorporate into Inkscape via a library.&lt;br /&gt;
I will also include documentation of the library including examples.  I would&lt;br /&gt;
like to create a svg2dxf and a dxf2svg directly from the code, but I do not want&lt;br /&gt;
to commit to delivery of stand-alone programs in the time allotted.&lt;br /&gt;
&lt;br /&gt;
Project Details&lt;br /&gt;
&lt;br /&gt;
I will create a library that will directly convert all of the directly convertible&lt;br /&gt;
information between a dxf/svg.  That includes but is not limited to: lines,&lt;br /&gt;
splines, layers, and text.  All 3D information will be flattened but I would&lt;br /&gt;
imagine that in the future a simple method for translating elevation to layers&lt;br /&gt;
could be implemented, but not this summer.  Because dxf does not include units this&lt;br /&gt;
information will need to be supplied for all conversions.&lt;br /&gt;
&lt;br /&gt;
Items that require additional information will be converted if the information is&lt;br /&gt;
given. This is done in other programs (i.e. FlexPDE) that require more information&lt;br /&gt;
than dxf can provide.  An example would be importing a spiral from dxf into svg. &lt;br /&gt;
Additional tags can be applied to the dxf to supply the additional information (e.g.&lt;br /&gt;
revolution) to create a spiral in Inkscape.  Some items that would be supported in&lt;br /&gt;
dxf import are spirals, stars, color, fills, and text on a path.  On the other hand&lt;br /&gt;
a spiral can be exported to dxf as a series of splines.  The user can set the export&lt;br /&gt;
resolution, or use the default resolution.  Some items that would be exported to dxf&lt;br /&gt;
are spirals and stars.  I would like to work on exporting text on a path, but at&lt;br /&gt;
this time I won’t promise that it will be functional until I understand better how&lt;br /&gt;
Inkscape performs this task.&lt;br /&gt;
&lt;br /&gt;
Project Schedule&lt;br /&gt;
&lt;br /&gt;
First I will take a few days to better understand the Inkscape file format.  Then I&lt;br /&gt;
will break the schedule into two pieces: svg-&amp;gt;dxf and dxf-&amp;gt;svg.  For the dxf-&amp;gt;svg I&lt;br /&gt;
estimate that the directly convertible code (DCC) can be written in a 2-3 days, the&lt;br /&gt;
non-direct conversion code (NDCC) in 3-4.  I think the svg-&amp;gt;dxf DCC will take 3-4&lt;br /&gt;
days.  The NDCC is a little more complicated because extra information will need to&lt;br /&gt;
be processed, so I am going to estimate about a week for that code. The total is&lt;br /&gt;
about 2.5 weeks.  As mentioned on the Inkscape wiki all projects take about pi times&lt;br /&gt;
longer to complete, so the completion of this code should be reasonable in a summer.&lt;br /&gt;
The documentation code should be written at the same time functions are written. &lt;br /&gt;
Example programs will be developed along the way as result of testing.&lt;br /&gt;
&lt;br /&gt;
Bio&lt;br /&gt;
&lt;br /&gt;
I am a physics Phd candidate at the University of Colorado and I have recently been&lt;br /&gt;
using Inkscape to create figures for papers and presentations.   I have been coding&lt;br /&gt;
in C++ for about 5 years.  I am self-taught in C++, but have some formal education&lt;br /&gt;
in other languages.  I would say I am a proficient programmer and can create good&lt;br /&gt;
code.  I have mostly worked on      ing magnetic fields, but part of my code reads&lt;br /&gt;
some basic information from dxf files to define the regions of interest (ROI).  I&lt;br /&gt;
am familiar with the dxf standard and what it takes to read dxf.  I have looked at&lt;br /&gt;
open source dxf libraries, specifically dime and QCad.  I also recently found&lt;br /&gt;
Blender reads dxf files.  I would have no problem pulling code from those sources.&lt;br /&gt;
&lt;br /&gt;
I am familiar with the SVG format, and actually looked at reading ROI information&lt;br /&gt;
from SVG's but for some reason several years ago chose dxf instead (probably because&lt;br /&gt;
at the time I found better CAD editors).  I have also used a variant of XML in&lt;br /&gt;
LabVIEW to control the parameters of my experiment.  A lab mate performed most of&lt;br /&gt;
the coding, but I have a working knowledge of XML.  I think there is open source&lt;br /&gt;
code for reading XML tags, so I would like to find some code that already reads the&lt;br /&gt;
XML tags and information from a file to hurry the project along.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ACI to RGB conversion ===&lt;br /&gt;
ACI stands for AutoCAD color index. It is a table of codes which describe color in DXF files. Here is some code to convert ACI to RGB, which I've written for my simple DXF reader. Resulting R, G and B values are 8-bit, in range 0-255. You can create a macro RGB(R,G,B) to convert it to proper colorspace values. I hope it can help a bit. The code is released under GPL.&lt;br /&gt;
&lt;br /&gt;
P.S. I know it is not the best place for pasting a code. Please remove it from this place, when it is no more useful or if it can be placed somewhere else.&lt;br /&gt;
&lt;br /&gt;
 float aci_to_rgb(int aci)&lt;br /&gt;
 {&lt;br /&gt;
 	aci = abs(aci);			// hidden layers have negative color values&lt;br /&gt;
 	if (aci&amp;lt;10 || aci&amp;gt;249)	// values of these ranges are special colors&lt;br /&gt;
 	{&lt;br /&gt;
 		switch (aci)&lt;br /&gt;
 		{&lt;br /&gt;
 			case 1: return RGB(255,0,0);		// basic colors&lt;br /&gt;
 			case 2: return RGB(255,255,0);&lt;br /&gt;
 			case 3: return RGB(0,255,0);&lt;br /&gt;
 			case 4: return RGB(0,255,255);&lt;br /&gt;
 			case 5: return RGB(0,0,255);&lt;br /&gt;
 			case 6: return RGB(255,0,255);&lt;br /&gt;
 			case 7: return RGB(255,255,255);&lt;br /&gt;
 			case 8: return RGB(128,128,128);&lt;br /&gt;
 			case 9: return RGB(192,192,192);&lt;br /&gt;
 			case 250: return RGB(51,51,51);		// grey shades&lt;br /&gt;
 			case 251: return RGB(91,91,91);&lt;br /&gt;
 			case 252: return RGB(132,132,132);&lt;br /&gt;
 			case 253: return RGB(173,173,173);&lt;br /&gt;
 			case 254: return RGB(214,214,214);&lt;br /&gt;
 			case 255: return RGB(255,255,255);&lt;br /&gt;
 			case 256:							// &amp;quot;by layer&amp;quot;&lt;br /&gt;
 			// Here you should decide how to handle &amp;quot;by layer&amp;quot; logical color.&lt;br /&gt;
 			// Maybe it is a good idea to return a value like -1.&lt;br /&gt;
 			// The outer code will find what is the color of the layer which&lt;br /&gt;
 			// this entity belongs to.&lt;br /&gt;
 				return -1;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	// for all the rest of ACI codes&lt;br /&gt;
 	float H,S,L,	R,G,B;&lt;br /&gt;
 	int remainder = aci % 10;					&lt;br /&gt;
 	H = 1.5f * (aci - remainder - 10);	// hue in range 0-360&lt;br /&gt;
 	S = ((aci % 2) ? 0.5f : 1.0f);		// odd colors have 50% of saturation, even - 100%&lt;br /&gt;
 	// set lighteness, the last digit of aci code stands for this&lt;br /&gt;
 	if (reminder == 0 || reminder == 1) L = 1.0f; &lt;br /&gt;
 	if (reminder == 2 || reminder == 3) L = 0.8f;&lt;br /&gt;
 	if (reminder == 4 || reminder == 5) L = 0.6f;&lt;br /&gt;
 	if (reminder == 6 || reminder == 7) L = 0.5f;&lt;br /&gt;
 	if (reminder == 8 || reminder == 9) L = 0.3f;&lt;br /&gt;
 	// here we have H,S,L set already&lt;br /&gt;
 	// let's convert it to RGB, first without consideration of S and L&lt;br /&gt;
 	if (H&amp;lt;=120)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = (120-H)/60;&lt;br /&gt;
 		G = H/60;&lt;br /&gt;
 		B = 0;&lt;br /&gt;
 	}&lt;br /&gt;
  	if (H&amp;gt;120 &amp;amp;&amp;amp; H&amp;lt;=240)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = 0;&lt;br /&gt;
 		G = (240-H)/60;&lt;br /&gt;
 		B = (H-120)/60;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (H&amp;gt;240 &amp;amp;&amp;amp; H&amp;lt;=360)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = (H-240)/60;&lt;br /&gt;
 		G = 0;&lt;br /&gt;
 		B = (360-H)/60;&lt;br /&gt;
 	}&lt;br /&gt;
 	R = min(R, 1);&lt;br /&gt;
 	G = min(G, 1);&lt;br /&gt;
 	B = min(B, 1);&lt;br /&gt;
 	// influence of S and L&lt;br /&gt;
 	float max_value = max(R,max(G,B));&lt;br /&gt;
 	R = (max_value-S*(max_value-R)) * L * 255;&lt;br /&gt;
 	G = (max_value-S*(max_value-G)) * L * 255;&lt;br /&gt;
 	B = (max_value-S*(max_value-B)) * L * 255;&lt;br /&gt;
 	return RGB(R,G,B);&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>67.50.76.50</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4810&amp;oldid=prev</id>
		<title>64.58.0.54: inkboard 2.0 link</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4810&amp;oldid=prev"/>
		<updated>2005-07-19T11:31:57Z</updated>

		<summary type="html">&lt;p&gt;inkboard 2.0 link&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== SOC Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
Four proposals were accepted.&lt;br /&gt;
&lt;br /&gt;
* [http://www.csse.monash.edu.au/~mwybrow/soc-proposal.txt Connectors] - Michael Wybrow&lt;br /&gt;
* [http://www.rose-hulman.edu/~yipdw/inkscape-proposal.txt Inkboard] - David Yip ([[InkboardIntegrationSchedule]]) ([[Inkboard2.0]])&lt;br /&gt;
* [https://developer.berlios.de/docman/display_doc.php?docid=934&amp;amp;group_id=4098 OCAL Interface] - Greg Steffensen (project being developed at [http://developer.berlios.de/projects/ocalhelper Berlios])&lt;br /&gt;
* DXF Import / Export (proposal below) - Matthew Squires&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DXF import/export ===&lt;br /&gt;
The proposal pretty much follows the Perl funding outline that was linked on the SOC website.&lt;br /&gt;
&lt;br /&gt;
Name: Matthew Squires&lt;br /&gt;
&lt;br /&gt;
Project Title: Creation of a library for the import/export of dxf in Inkscape&lt;br /&gt;
&lt;br /&gt;
Benefits to Inkscape&lt;br /&gt;
&lt;br /&gt;
A library for importing/exporting dxf files would make Inkscape a more flexible&lt;br /&gt;
piece of software especially for those that create technical drawings.  For&lt;br /&gt;
example, I have used Macromedia Freehand to import dxf technical drawings so I&lt;br /&gt;
could add artistic elements for papers and presentations.  Directly importing and&lt;br /&gt;
exporting dxf in Inkscape would make Inkscape a more attractive piece of software&lt;br /&gt;
for those that already have CAD drawings but would like to make them &amp;quot;presentable.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Synopsis&lt;br /&gt;
&lt;br /&gt;
I will create a library that will import/export data to/from Inkscape from/to the&lt;br /&gt;
dxf format.  This library will directly import all of the basic properties common&lt;br /&gt;
to the dxf format and Inkscape (e.g. lines and layers).   Objects that do not&lt;br /&gt;
directly convert (e.g. spirals) will be supported by using extra information to&lt;br /&gt;
properly complete the translation.  It should be assumed that any 3D data contained&lt;br /&gt;
in the dxf will be flattened.&lt;br /&gt;
&lt;br /&gt;
Deliverables&lt;br /&gt;
&lt;br /&gt;
The conversion functions will be made to incorporate into Inkscape via a library.&lt;br /&gt;
I will also include documentation of the library including examples.  I would&lt;br /&gt;
like to create a svg2dxf and a dxf2svg directly from the code, but I do not want&lt;br /&gt;
to commit to delivery of stand-alone programs in the time allotted.&lt;br /&gt;
&lt;br /&gt;
Project Details&lt;br /&gt;
&lt;br /&gt;
I will create a library that will directly convert all of the directly convertible&lt;br /&gt;
information between a dxf/svg.  That includes but is not limited to: lines,&lt;br /&gt;
splines, layers, and text.  All 3D information will be flattened but I would&lt;br /&gt;
imagine that in the future a simple method for translating elevation to layers&lt;br /&gt;
could be implemented, but not this summer.  Because dxf does not include units this&lt;br /&gt;
information will need to be supplied for all conversions.&lt;br /&gt;
&lt;br /&gt;
Items that require additional information will be converted if the information is&lt;br /&gt;
given. This is done in other programs (i.e. FlexPDE) that require more information&lt;br /&gt;
than dxf can provide.  An example would be importing a spiral from dxf into svg. &lt;br /&gt;
Additional tags can be applied to the dxf to supply the additional information (e.g.&lt;br /&gt;
revolution) to create a spiral in Inkscape.  Some items that would be supported in&lt;br /&gt;
dxf import are spirals, stars, color, fills, and text on a path.  On the other hand&lt;br /&gt;
a spiral can be exported to dxf as a series of splines.  The user can set the export&lt;br /&gt;
resolution, or use the default resolution.  Some items that would be exported to dxf&lt;br /&gt;
are spirals and stars.  I would like to work on exporting text on a path, but at&lt;br /&gt;
this time I won’t promise that it will be functional until I understand better how&lt;br /&gt;
Inkscape performs this task.&lt;br /&gt;
&lt;br /&gt;
Project Schedule&lt;br /&gt;
&lt;br /&gt;
First I will take a few days to better understand the Inkscape file format.  Then I&lt;br /&gt;
will break the schedule into two pieces: svg-&amp;gt;dxf and dxf-&amp;gt;svg.  For the dxf-&amp;gt;svg I&lt;br /&gt;
estimate that the directly convertible code (DCC) can be written in a 2-3 days, the&lt;br /&gt;
non-direct conversion code (NDCC) in 3-4.  I think the svg-&amp;gt;dxf DCC will take 3-4&lt;br /&gt;
days.  The NDCC is a little more complicated because extra information will need to&lt;br /&gt;
be processed, so I am going to estimate about a week for that code. The total is&lt;br /&gt;
about 2.5 weeks.  As mentioned on the Inkscape wiki all projects take about pi times&lt;br /&gt;
longer to complete, so the completion of this code should be reasonable in a summer.&lt;br /&gt;
The documentation code should be written at the same time functions are written. &lt;br /&gt;
Example programs will be developed along the way as result of testing.&lt;br /&gt;
&lt;br /&gt;
Bio&lt;br /&gt;
&lt;br /&gt;
I am a physics Phd candidate at the University of Colorado and I have recently been&lt;br /&gt;
using Inkscape to create figures for papers and presentations.   I have been coding&lt;br /&gt;
in C++ for about 5 years.  I am self-taught in C++, but have some formal education&lt;br /&gt;
in other languages.  I would say I am a proficient programmer and can create good&lt;br /&gt;
code.  I have mostly worked on      ing magnetic fields, but part of my code reads&lt;br /&gt;
some basic information from dxf files to define the regions of interest (ROI).  I&lt;br /&gt;
am familiar with the dxf standard and what it takes to read dxf.  I have looked at&lt;br /&gt;
open source dxf libraries, specifically dime and QCad.  I also recently found&lt;br /&gt;
Blender reads dxf files.  I would have no problem pulling code from those sources.&lt;br /&gt;
&lt;br /&gt;
I am familiar with the SVG format, and actually looked at reading ROI information&lt;br /&gt;
from SVG's but for some reason several years ago chose dxf instead (probably because&lt;br /&gt;
at the time I found better CAD editors).  I have also used a variant of XML in&lt;br /&gt;
LabVIEW to control the parameters of my experiment.  A lab mate performed most of&lt;br /&gt;
the coding, but I have a working knowledge of XML.  I think there is open source&lt;br /&gt;
code for reading XML tags, so I would like to find some code that already reads the&lt;br /&gt;
XML tags and information from a file to hurry the project along.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ACI to RGB conversion ===&lt;br /&gt;
ACI stands for AutoCAD color index. It is a table of codes which describe color in DXF files. Here is some code to convert ACI to RGB, which I've written for my simple DXF reader. Resulting R, G and B values are 8-bit, in range 0-255. You can create a macro RGB(R,G,B) to convert it to proper colorspace values. I hope it can help a bit. The code is released under GPL.&lt;br /&gt;
&lt;br /&gt;
P.S. I know it is not the best place for pasting a code. Please remove it from this place, when it is no more useful or if it can be placed somewhere else.&lt;br /&gt;
&lt;br /&gt;
 float aci_to_rgb(int aci)&lt;br /&gt;
 {&lt;br /&gt;
 	aci = abs(aci);			// hidden layers have negative color values&lt;br /&gt;
 	if (aci&amp;lt;10 || aci&amp;gt;249)	// values of these ranges are special colors&lt;br /&gt;
 	{&lt;br /&gt;
 		switch (aci)&lt;br /&gt;
 		{&lt;br /&gt;
 			case 1: return RGB(255,0,0);		// basic colors&lt;br /&gt;
 			case 2: return RGB(255,255,0);&lt;br /&gt;
 			case 3: return RGB(0,255,0);&lt;br /&gt;
 			case 4: return RGB(0,255,255);&lt;br /&gt;
 			case 5: return RGB(0,0,255);&lt;br /&gt;
 			case 6: return RGB(255,0,255);&lt;br /&gt;
 			case 7: return RGB(255,255,255);&lt;br /&gt;
 			case 8: return RGB(128,128,128);&lt;br /&gt;
 			case 9: return RGB(192,192,192);&lt;br /&gt;
 			case 250: return RGB(51,51,51);		// grey shades&lt;br /&gt;
 			case 251: return RGB(91,91,91);&lt;br /&gt;
 			case 252: return RGB(132,132,132);&lt;br /&gt;
 			case 253: return RGB(173,173,173);&lt;br /&gt;
 			case 254: return RGB(214,214,214);&lt;br /&gt;
 			case 255: return RGB(255,255,255);&lt;br /&gt;
 			case 256:							// &amp;quot;by layer&amp;quot;&lt;br /&gt;
 			// Here you should decide how to handle &amp;quot;by layer&amp;quot; logical color.&lt;br /&gt;
 			// Maybe it is a good idea to return a value like -1.&lt;br /&gt;
 			// The outer code will find what is the color of the layer which&lt;br /&gt;
 			// this entity belongs to.&lt;br /&gt;
 				return -1;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	// for all the rest of ACI codes&lt;br /&gt;
 	float H,S,L,	R,G,B;&lt;br /&gt;
 	int remainder = aci % 10;					&lt;br /&gt;
 	H = 1.5f * (aci - remainder - 10);	// hue in range 0-360&lt;br /&gt;
 	S = ((aci % 2) ? 0.5f : 1.0f);		// odd colors have 50% of saturation, even - 100%&lt;br /&gt;
 	// set lighteness, the last digit of aci code stands for this&lt;br /&gt;
 	if (reminder == 0 || reminder == 1) L = 1.0f; &lt;br /&gt;
 	if (reminder == 2 || reminder == 3) L = 0.8f;&lt;br /&gt;
 	if (reminder == 4 || reminder == 5) L = 0.6f;&lt;br /&gt;
 	if (reminder == 6 || reminder == 7) L = 0.5f;&lt;br /&gt;
 	if (reminder == 8 || reminder == 9) L = 0.3f;&lt;br /&gt;
 	// here we have H,S,L set already&lt;br /&gt;
 	// let's convert it to RGB, first without consideration of S and L&lt;br /&gt;
 	if (H&amp;lt;=120)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = (120-H)/60;&lt;br /&gt;
 		G = H/60;&lt;br /&gt;
 		B = 0;&lt;br /&gt;
 	}&lt;br /&gt;
  	if (H&amp;gt;120 &amp;amp;&amp;amp; H&amp;lt;=240)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = 0;&lt;br /&gt;
 		G = (240-H)/60;&lt;br /&gt;
 		B = (H-120)/60;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (H&amp;gt;240 &amp;amp;&amp;amp; H&amp;lt;=360)&lt;br /&gt;
 	{&lt;br /&gt;
 		R = (H-240)/60;&lt;br /&gt;
 		G = 0;&lt;br /&gt;
 		B = (360-H)/60;&lt;br /&gt;
 	}&lt;br /&gt;
 	R = min(R, 1);&lt;br /&gt;
 	G = min(G, 1);&lt;br /&gt;
 	B = min(B, 1);&lt;br /&gt;
 	// influence of S and L&lt;br /&gt;
 	float max_value = max(R,max(G,B));&lt;br /&gt;
 	R = (max_value-S*(max_value-R)) * L * 255;&lt;br /&gt;
 	G = (max_value-S*(max_value-G)) * L * 255;&lt;br /&gt;
 	B = (max_value-S*(max_value-B)) * L * 255;&lt;br /&gt;
 	return RGB(R,G,B);&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>64.58.0.54</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4806&amp;oldid=prev</id>
		<title>64.58.0.54: added link to Inkboard integration schedule</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=SOC_Accepted_Proposals&amp;diff=4806&amp;oldid=prev"/>
		<updated>2005-06-28T04:13:54Z</updated>

		<summary type="html">&lt;p&gt;added link to Inkboard integration schedule&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== SOC Accepted Proposals ==&lt;br /&gt;
&lt;br /&gt;
Four proposals were accepted.&lt;br /&gt;
&lt;br /&gt;
* [http://www.csse.monash.edu.au/~mwybrow/soc-proposal.txt Connectors] - Michael Wybrow&lt;br /&gt;
* [http://www.rose-hulman.edu/~yipdw/inkscape-proposal.txt Inkboard] - David Yip ([[InkboardIntegrationSchedule]])&lt;br /&gt;
* [https://developer.berlios.de/docman/display_doc.php?docid=934&amp;amp;group_id=4098 OCAL Interface] - Greg Steffensen (project being developed at [http://developer.berlios.de/projects/ocalhelper Berlios])&lt;br /&gt;
* DXF Import / Export (proposal below) - Matthew Squires&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DXF import/export ===&lt;br /&gt;
The proposal pretty much follows the Perl funding outline that was linked on the SOC website.&lt;br /&gt;
&lt;br /&gt;
Name: Matthew Squires&lt;br /&gt;
&lt;br /&gt;
Project Title: Creation of a library for the import/export of dxf in Inkscape&lt;br /&gt;
&lt;br /&gt;
Benefits to Inkscape&lt;br /&gt;
&lt;br /&gt;
A library for importing/exporting dxf files would make Inkscape a more flexible&lt;br /&gt;
piece of software especially for those that create technical drawings.  For&lt;br /&gt;
example, I have used Macromedia Freehand to import dxf technical drawings so I&lt;br /&gt;
could add artistic elements for papers and presentations.  Directly importing and&lt;br /&gt;
exporting dxf in Inkscape would make Inkscape a more attractive piece of software&lt;br /&gt;
for those that already have CAD drawings but would like to make them &amp;quot;presentable.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Synopsis&lt;br /&gt;
&lt;br /&gt;
I will create a library that will import/export data to/from Inkscape from/to the&lt;br /&gt;
dxf format.  This library will directly import all of the basic properties common&lt;br /&gt;
to the dxf format and Inkscape (e.g. lines and layers).   Objects that do not&lt;br /&gt;
directly convert (e.g. spirals) will be supported by using extra information to&lt;br /&gt;
properly complete the translation.  It should be assumed that any 3D data contained&lt;br /&gt;
in the dxf will be flattened.&lt;br /&gt;
&lt;br /&gt;
Deliverables&lt;br /&gt;
&lt;br /&gt;
The conversion functions will be made to incorporate into Inkscape via a library.&lt;br /&gt;
I will also include documentation of the library including examples.  I would&lt;br /&gt;
like to create a svg2dxf and a dxf2svg directly from the code, but I do not want&lt;br /&gt;
to commit to delivery of stand-alone programs in the time allotted.&lt;br /&gt;
&lt;br /&gt;
Project Details&lt;br /&gt;
&lt;br /&gt;
I will create a library that will directly convert all of the directly convertible&lt;br /&gt;
information between a dxf/svg.  That includes but is not limited to: lines,&lt;br /&gt;
splines, layers, and text.  All 3D information will be flattened but I would&lt;br /&gt;
imagine that in the future a simple method for translating elevation to layers&lt;br /&gt;
could be implemented, but not this summer.  Because dxf does not include units this&lt;br /&gt;
information will need to be supplied for all conversions.&lt;br /&gt;
&lt;br /&gt;
Items that require additional information will be converted if the information is&lt;br /&gt;
given. This is done in other programs (i.e. FlexPDE) that require more information&lt;br /&gt;
than dxf can provide.  An example would be importing a spiral from dxf into svg. &lt;br /&gt;
Additional tags can be applied to the dxf to supply the additional information (e.g.&lt;br /&gt;
revolution) to create a spiral in Inkscape.  Some items that would be supported in&lt;br /&gt;
dxf import are spirals, stars, color, fills, and text on a path.  On the other hand&lt;br /&gt;
a spiral can be exported to dxf as a series of splines.  The user can set the export&lt;br /&gt;
resolution, or use the default resolution.  Some items that would be exported to dxf&lt;br /&gt;
are spirals and stars.  I would like to work on exporting text on a path, but at&lt;br /&gt;
this time I won’t promise that it will be functional until I understand better how&lt;br /&gt;
Inkscape performs this task.&lt;br /&gt;
&lt;br /&gt;
Project Schedule&lt;br /&gt;
&lt;br /&gt;
First I will take a few days to better understand the Inkscape file format.  Then I&lt;br /&gt;
will break the schedule into two pieces: svg-&amp;gt;dxf and dxf-&amp;gt;svg.  For the dxf-&amp;gt;svg I&lt;br /&gt;
estimate that the directly convertible code (DCC) can be written in a 2-3 days, the&lt;br /&gt;
non-direct conversion code (NDCC) in 3-4.  I think the svg-&amp;gt;dxf DCC will take 3-4&lt;br /&gt;
days.  The NDCC is a little more complicated because extra information will need to&lt;br /&gt;
be processed, so I am going to estimate about a week for that code. The total is&lt;br /&gt;
about 2.5 weeks.  As mentioned on the Inkscape wiki all projects take about pi times&lt;br /&gt;
longer to complete, so the completion of this code should be reasonable in a summer.&lt;br /&gt;
The documentation code should be written at the same time functions are written. &lt;br /&gt;
Example programs will be developed along the way as result of testing.&lt;br /&gt;
&lt;br /&gt;
Bio&lt;br /&gt;
&lt;br /&gt;
I am a physics Phd candidate at the University of Colorado and I have recently been&lt;br /&gt;
using Inkscape to create figures for papers and presentations.   I have been coding&lt;br /&gt;
in C++ for about 5 years.  I am self-taught in C++, but have some formal education&lt;br /&gt;
in other languages.  I would say I am a proficient programmer and can create good&lt;br /&gt;
code.  I have mostly worked on      ing magnetic fields, but part of my code reads&lt;br /&gt;
some basic information from dxf files to define the regions of interest (ROI).  I&lt;br /&gt;
am familiar with the dxf standard and what it takes to read dxf.  I have looked at&lt;br /&gt;
open source dxf libraries, specifically dime and QCad.  I also recently found&lt;br /&gt;
Blender reads dxf files.  I would have no problem pulling code from those sources.&lt;br /&gt;
&lt;br /&gt;
I am familiar with the SVG format, and actually looked at reading ROI information&lt;br /&gt;
from SVG's but for some reason several years ago chose dxf instead (probably because&lt;br /&gt;
at the time I found better CAD editors).  I have also used a variant of XML in&lt;br /&gt;
LabVIEW to control the parameters of my experiment.  A lab mate performed most of&lt;br /&gt;
the coding, but I have a working knowledge of XML.  I think there is open source&lt;br /&gt;
code for reading XML tags, so I would like to find some code that already reads the&lt;br /&gt;
XML tags and information from a file to hurry the project along.&lt;/div&gt;</summary>
		<author><name>64.58.0.54</name></author>
	</entry>
</feed>