Added dxf2papercraft wrapper extension for Linux/Windows

This commit is contained in:
2020-09-11 18:21:56 +02:00
parent 6e3acc2805
commit 98a6418676
44 changed files with 598596 additions and 0 deletions

View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8" ?>
<parser class="org.kabeja.parser.DXFParser" xmlns="http://kabeja.org/parser/1.0">
<handler class="org.kabeja.parser.DXFHeaderSectionHandler"/>
<handler class="org.kabeja.parser.DXFTableSectionHandler">
<handlers>
<handler class="org.kabeja.parser.table.DXFLayerTableHandler"/>
<handler class="org.kabeja.parser.table.DXFLineTypeTableHandler"/>
<handler class="org.kabeja.parser.table.DXFViewTableHandler"/>
<handler class="org.kabeja.parser.table.DXFViewportTableHandler"/>
<handler class="org.kabeja.parser.table.DXFStyleTableHandler"/>
<handler class="org.kabeja.parser.table.DXFDimensionStyleTableHandler"/>
</handlers>
</handler>
<!--+
| The block and the entities handler use the same sub handlers.
| If you have create a parser for an entity add the parser in
| both sections.
+-->
<handler class="org.kabeja.parser.DXFBlocksSectionHandler">
<handlers>
<handler class="org.kabeja.parser.entities.DXFArcHandler"/>
<handler class="org.kabeja.parser.entities.DXFCircleHandler"/>
<handler class="org.kabeja.parser.entities.DXFEllipseHandler"/>
<handler class="org.kabeja.parser.entities.DXFInsertHandler"/>
<handler class="org.kabeja.parser.entities.DXFLineHandler"/>
<handler class="org.kabeja.parser.entities.DXFPolylineHandler"/>
<handler class="org.kabeja.parser.entities.DXFLWPolylineHandler"/>
<handler class="org.kabeja.parser.entities.DXFSolidHandler"/>
<handler class="org.kabeja.parser.entities.DXFTextHandler"/>
<handler class="org.kabeja.parser.entities.DXFAttribHandler"/>
<handler class="org.kabeja.parser.entities.DXFMTextHandler"/>
<handler class="org.kabeja.parser.entities.DXFTraceHandler"/>
<handler class="org.kabeja.parser.entities.DXFDimensionHandler"/>
<handler class="org.kabeja.parser.entities.DXFImageHandler"/>
<handler class="org.kabeja.parser.entities.DXF3DFaceHandler"/>
<handler class="org.kabeja.parser.entities.DXFRayHandler"/>
<handler class="org.kabeja.parser.entities.DXFXLineHandler"/>
<handler class="org.kabeja.parser.entities.DXFRegionHandler"/>
<handler class="org.kabeja.parser.entities.DXFBodyHandler"/>
<handler class="org.kabeja.parser.entities.DXF3DSolidHandler"/>
<handler class="org.kabeja.parser.entities.DXFSplineHandler"/>
</handlers>
</handler>
<!--+
|The entity section parser part
|
+-->
<handler class="org.kabeja.parser.DXFEntitiesSectionHandler">
<handlers>
<handler class="org.kabeja.parser.entities.DXFArcHandler"/>
<handler class="org.kabeja.parser.entities.DXFCircleHandler"/>
<handler class="org.kabeja.parser.entities.DXFEllipseHandler"/>
<handler class="org.kabeja.parser.entities.DXFInsertHandler"/>
<handler class="org.kabeja.parser.entities.DXFLineHandler"/>
<handler class="org.kabeja.parser.entities.DXFPolylineHandler"/>
<handler class="org.kabeja.parser.entities.DXFLWPolylineHandler"/>
<handler class="org.kabeja.parser.entities.DXFSolidHandler"/>
<handler class="org.kabeja.parser.entities.DXFTextHandler"/>
<handler class="org.kabeja.parser.entities.DXFAttribHandler"/>
<handler class="org.kabeja.parser.entities.DXFMTextHandler"/>
<handler class="org.kabeja.parser.entities.DXFTraceHandler"/>
<handler class="org.kabeja.parser.entities.DXFDimensionHandler"/>
<handler class="org.kabeja.parser.entities.DXFImageHandler"/>
<handler class="org.kabeja.parser.entities.DXF3DFaceHandler"/>
<handler class="org.kabeja.parser.entities.DXFRayHandler"/>
<handler class="org.kabeja.parser.entities.DXFXLineHandler"/>
<handler class="org.kabeja.parser.entities.DXFRegionHandler"/>
<handler class="org.kabeja.parser.entities.DXFBodyHandler"/>
<handler class="org.kabeja.parser.entities.DXF3DSolidHandler"/>
<handler class="org.kabeja.parser.entities.DXFSplineHandler"/>
</handlers>
</handler>
<!--+
|The objects section parser part
|
+-->
<handler class="org.kabeja.parser.DXFObjectsSectionHandler">
<handlers>
<handler class="org.kabeja.parser.objects.DXFImageDefHandler"/>
</handlers>
</handler>
</parser>

View File

@ -0,0 +1,180 @@
<?xml version="1.0" encoding="UTF-8"?>
<processing xmlns="http://kabeja.org/processing/1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<!--+
| The processing configuration
+-->
<configuration>
<!--+
| If you want to configure the parser you can change the parser.xml and use it here or
| register your own parser for other input formats
| <parsers>
| <xi:include href="conf/parser.xml"/>
| </parsers>
+-->
<postprocessors>
<postprocessor class="org.kabeja.processing.BoundsDebugger" name="bounds.debugger"/>
<!-- removes all image entities if the images file does not exists -->
<postprocessor class="org.kabeja.processing.ImageFilter" name="image.filter"/>
<postprocessor class="org.kabeja.processing.BoundsFilter" name="bounds.filter"/>
<!-- allows you to remove layers from the draft and merge all layers to one -->
<postprocessor class="org.kabeja.processing.LayerFilter" name="layer.filter"/>
<!-- converts lines,arcs and polylines to a single polyline, if they have the same points -->
<postprocessor class="org.kabeja.processing.PolylineConverter" name="polyline.converter"/>
<!-- removes invisible entities -->
<postprocessor class="org.kabeja.processing.VisibilityFilter" name="visibility.filter"/>
<postprocessor class="org.kabeja.processing.ScriptablePostProcessor" name="js"/>
</postprocessors>
<filters>
<filter class="org.kabeja.batik.tools.ImageBase64Encoder" name="image"/>
<filter class="org.kabeja.svg.FixedStrokeWidthFilter" name="fixed-stroke-width"/>
<filter class="org.kabeja.svg.RootLayerFilter" name="rootlayer.filter"/>
<filter class="org.kabeja.svg.StyleAttributeFilter" name="styleattribute.filter"/>
<filter class="org.kabeja.xslt.SAXXSLTFilter" name="xslt">
<property name="http://xml.org/sax/features/is-standalone/" value="true"/>
</filter>
</filters>
<serializers>
<serializer class="org.kabeja.xml.SAXPrettyOutputter" name="svg"/>
<serializer class="org.kabeja.batik.tools.SAXJPEGSerializer" name="jpeg"/>
<serializer class="org.kabeja.batik.tools.SAXPNGSerializer" name="png"/>
<serializer class="org.kabeja.batik.tools.SAXTIFFSerializer" name="tiff"/>
<serializer class="org.kabeja.batik.tools.SAXPDFSerializer" name="pdf">
<!--+
| *example configuration works with jpeg/png/tiff also
|
| * setup a paper sizes A0-A6
| <property name="paper" value="A1"/>
|
| * setup own paper size by mm/in/px/cm
| <property name="width" value="100mm"/>
| <property name="height" value="50mm"/>
|
| * dpi setting
| <property name="dpi" value="300"/>
|
| * change the orientation
| <property name="orientation" value="landscape"/>
+-->
</serializer>
<serializer class="org.kabeja.xslt.SAXXMLSerializer" name="xml"/>
</serializers>
<generators>
<generator class="org.kabeja.svg.SVGGenerator" name="svg">
<!--+
| possible values are:
| *) modelspace
| *) paperspace
| *) kabeja -> the default
+-->
<property name="bounds-rule" value="kabeja"/>
<!--+
| * you can choose a layout
| by name:
| <property name="output-style-name" value="myLayout2"/>
| or the default "Model"-layout will be used
+-->
<property name="output-style" value="layout"/>
<!--+
| you can setup an own stroke width for the draft
| this will override the draft line weight
| <property name="stroke-width" value="0.02%"/>
+-->
</generator>
</generators>
</configuration>
<!--+
| The processing pipelines
+-->
<pipelines>
<pipeline name="Inkscape" description="Converts the draft to SVG using the inkscape import filter settings.">
<generate name="svg"/>
<filter name="rootlayer.filter"/>
<filter name="styleattribute.filter"/>
<serialize name="svg"/>
</pipeline>
<pipeline name="svg" description="Converts the draft to SVG">
<generate name="svg"/>
<serialize name="svg"/>
</pipeline>
<pipeline name="debug" description="Helps to debug false bounds">
<postprocess name="bounds.debugger"/>
<generate name="svg"/>
<filter name="image"/>
<serialize name="svg"/>
</pipeline>
<pipeline name="jpeg">
<generate name="svg"/>
<serialize name="jpeg">
<property name="width" value="1024"/>
<property name="height" value="768"/>
</serialize>
</pipeline>
<pipeline name="png">
<generate name="svg"/>
<serialize name="png">
<property name="width" value="1024"/>
<property name="height" value="768"/>
</serialize>
</pipeline>
<pipeline name="tiff">
<generate name="svg"/>
<serialize name="tiff">
<property name="width" value="1024"/>
<property name="height" value="768"/>
</serialize>
</pipeline>
<pipeline name="pdf">
<generate name="svg"/>
<serialize name="pdf"/>
</pipeline>
<pipeline name="font" description="Convert to SVG and tries to embed fonts">
<generate name="svg"/>
<filter name="xslt">
<property name="stylesheet" value="../tools/xsl/embedfont.xsl"/>
</filter>
<serialize name="svg"/>
</pipeline>
<pipeline name="embed" description="Convert to SVG and tries to embed fonts and images">
<generate name="svg"/>
<postprocess name="image.filter"/>
<generate name="svg"/>
<filter name="image"/>
<filter name="xslt">
<property name="stylesheet" value="../tools/xsl/embedfont.xsl"/>
<property name="http://xml.org/sax/features/is-standalone/" value="true"/>
<property name="http://xml.org/sax/features/external-general-entities" value="false"/>
</filter>
<serialize name="svg"/>
</pipeline>
<pipeline name="mozilla" description="Generate a Mozilla 1.5.X compatible SVG (change all to a fixed stoke-width)">
<generate name="svg"/>
<!-- Mozilla based browser only render svg with a
fixed stroke-width, a percent value will cause a
crashing Mozilla -->
<filter name="fixed-stroke-width"/>
<serialize name="svg"/>
</pipeline>
<pipeline name="scripting" desription="Invokes the javascipt postprocessor before converting to SVG">
<generate name="svg"/>
<postprocess name="js">
<property name="src" value="scripts/layoutDebug.js"/>
</postprocess>
<serialize name="pdf"/>
</pipeline>
</pipelines>
</processing>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<uiconfiguration xmlns="http://kabeja.org/processing/ui/1.0">
<components>
<component class="org.kabeja.ui.impl.ProcessingUI"/>
<component class="org.kabeja.ui.impl.ProcessingRunViewComponent"/>
<!-- <component class="org.kabeja.ui.impl.ProcessingEditorViewComponent"/> -->
<component class="org.kabeja.svg.ui.SVGViewUIComponent"/>
<component class="org.kabeja.processing.scripting.impl.JavaScriptShell"/>
<component class="org.kabeja.svg.ui.OutputSettingsUI"/>
<component class="dk.abj.svg.action.ZoomSelectionActionInterceptor"/>
<component class="dk.abj.svg.action.ZoomImageActionInteractor"/>
<component class="dk.abj.svg.action.PanActionInterceptor"/>
<component class="dk.abj.svg.action.CenterAction"/>
<component class="dk.abj.svg.action.RotateActionInteractor"/>
<component class="org.kabeja.svg.action.LayoutSwitchAction"/>
<component class="org.kabeja.svg.action.PrintAction"/>
</components>
</uiconfiguration>