Draft: Added preference setting to use the new C++ dxf importer
This commit is contained in:
parent
b4e3fcb428
commit
6b792952c3
|
@ -61,6 +61,29 @@
|
|||
<property name="margin">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<item>
|
||||
<widget class="Gui::PrefCheckBox" name="checkBox_4">
|
||||
<property name="toolTip">
|
||||
<string>If this is checked, the old python importer is used, otherwise the new C++ one (faster, but not as many features yet)</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Use legacy python importer</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="prefEntry" stdset="0">
|
||||
<cstring>dxfUseLegacyImporter</cstring>
|
||||
</property>
|
||||
<property name="prefPath" stdset="0">
|
||||
<cstring>Mod/Draft</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<item>
|
||||
|
|
|
@ -1467,6 +1467,7 @@ def warn(dxfobject,num=None):
|
|||
def open(filename):
|
||||
"called when freecad opens a file."
|
||||
readPreferences()
|
||||
if dxfUseLegacyImporter:
|
||||
if dxfReader:
|
||||
docname = os.path.splitext(os.path.basename(filename))[0]
|
||||
if isinstance(docname,unicode):
|
||||
|
@ -1478,10 +1479,21 @@ def open(filename):
|
|||
return doc
|
||||
else:
|
||||
errorDXFLib(gui)
|
||||
else:
|
||||
docname = os.path.splitext(os.path.basename(filename))[0]
|
||||
if isinstance(docname,unicode):
|
||||
import sys #workaround since newDocument currently can't handle unicode filenames
|
||||
docname = docname.encode(sys.getfilesystemencoding())
|
||||
doc = FreeCAD.newDocument(docname)
|
||||
doc.Label = decodeName(docname)
|
||||
FreeCAD.setActiveDocument(docname)
|
||||
import DraftUtils
|
||||
DraftUtils.readDXF(filename)
|
||||
|
||||
def insert(filename,docname):
|
||||
"called when freecad imports a file"
|
||||
readPreferences()
|
||||
if dxfUseLegacyImporter:
|
||||
if dxfReader:
|
||||
groupname = os.path.splitext(os.path.basename(filename))[0]
|
||||
try:
|
||||
|
@ -1496,6 +1508,10 @@ def insert(filename,docname):
|
|||
importgroup.addObject(l)
|
||||
else:
|
||||
errorDXFLib(gui)
|
||||
else:
|
||||
FreeCAD.setActiveDocument(docname)
|
||||
import DraftUtils
|
||||
DraftUtils.readDXF(filename)
|
||||
|
||||
def getShapes(filename):
|
||||
"reads a dxf file and returns a list of shapes from its contents"
|
||||
|
@ -1944,7 +1960,7 @@ def readPreferences():
|
|||
global dxfCreatePart, dxfCreateDraft, dxfCreateSketch, dxfDiscretizeCurves, dxfStarBlocks
|
||||
global dxfMakeBlocks, dxfJoin, dxfRenderPolylineWidth, dxfImportTexts, dxfImportLayouts
|
||||
global dxfImportPoints, dxfImportHatches, dxfUseStandardSize, dxfGetColors, dxfUseDraftVisGroups
|
||||
global dxfFillMode, dxfBrightBackground, dxfDefaultColor
|
||||
global dxfFillMode, dxfBrightBackground, dxfDefaultColor, dxfUseLegacyImporter
|
||||
dxfCreatePart = p.GetBool("dxfCreatePart",True)
|
||||
dxfCreateDraft = p.GetBool("dxfCreateDraft",False)
|
||||
dxfCreateSketch = p.GetBool("dxfCreateSketch",False)
|
||||
|
@ -1961,5 +1977,6 @@ def readPreferences():
|
|||
dxfGetColors = p.GetBool("dxfGetOriginalColors",False)
|
||||
dxfUseDraftVisGroups = p.GetBool("dxfUseDraftVisGroups",False)
|
||||
dxfFillMode = p.GetBool("fillmode",True)
|
||||
dxfUseLegacyImporter = p.GetBool("dxfUseLegacyImporter",True)
|
||||
dxfBrightBackground = isBrightBackground()
|
||||
dxfDefaultColor = getColor()
|
||||
|
|
Loading…
Reference in New Issue
Block a user