Revision: 19278
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19278
Author:   migius
Date:     2009-03-14 00:35:15 +0100 (Sat, 14 Mar 2009)

Log Message:
-----------
 update v1.12 - 2009.03.14 by migius
 d3 removed all set()functions (problem with osx/python<2.4 reported by 
Blinkozo)
 d3 code-cleaning
 d2 temp patch for noname BLOCKS (*X,*U,*D)

Modified Paths:
--------------
    trunk/blender/release/scripts/import_dxf.py

Modified: trunk/blender/release/scripts/import_dxf.py
===================================================================
--- trunk/blender/release/scripts/import_dxf.py 2009-03-13 19:27:00 UTC (rev 
19277)
+++ trunk/blender/release/scripts/import_dxf.py 2009-03-13 23:35:15 UTC (rev 
19278)
@@ -7,7 +7,7 @@
 Tooltip: 'Import for DXF geometry data (Drawing eXchange Format).'
 """
 __author__ = 'Kitsu(Ed Blake) & migius(Remigiusz Fiedler)'
-__version__ = '1.12 - 2008.11.16 by migius'
+__version__ = '1.12 - 2009.03.14 by migius'
 __url__ = ["http://blenderartists.org/forum/showthread.php?t=84319";,
         "http://wiki.blender.org/index.php/Scripts/Manual/Import/DXF-3D";]
 __email__ = ["migius(at)4d-vectors.de","Kitsune_e(at)yahoo.com"]
@@ -15,7 +15,7 @@
 This script imports objects from DXF (2d/3d) into Blender.
 
 This script imports 2d and 3d geometery from DXF files.
-Supported DXF format versions: from (r2.5) r12 up to 2008.
+Supported DXF format versions: from (r2.5) r12 up to r2008.
 Enhanced features are:
 - configurable object filtering and geometry manipulation,
 - configurable material pre-processing,
@@ -32,7 +32,7 @@
 CIRCLE,
 ARC,
 3DFACE,
-2d-POLYLINE (=plane, incl. arc, variable-width, curve, spline),
+2d-POLYLINE (=in plane, incl. arc, variable-width, curve, spline),
 3d-POLYLINE (=non-plane),
 3d-POLYMESH,
 3d-POLYFACE,
@@ -57,7 +57,7 @@
 "model space" is default,
 "paper space" as option (= "layout views")
 
-Supported scene definition objescts produced with AVE_RENDER:
+Supported scene definition objects produced with AVE_RENDER:
 scene: selection of lights assigned to the camera,
 lights: DIRECT, OVERHEAD, SH_SPOT,
 (wip v1.13 import of AVE_RENDER material definitions)
@@ -88,7 +88,7 @@
 
 """
 History:
- v1.0 - 2007/2008 by migius
+ v1.0 - 2007/2008/2009 by migius
  planned tasks:
  -- (to see more, search for "--todo--" in script code)
  -- command-line-mode/batch-mode
@@ -111,6 +111,11 @@
  -- support ortho mode for VIEWs and VPORTs as cameras 
 
 
+ v1.12 - 2009.03.14 by migius
+ d3 removed all set()functions (problem with osx/python<2.4 reported by 
Blinkozo)
+ d3 code-cleaning
+ v1.12 - 2009.01.14 by migius
+ d2 temp patch for noname BLOCKS (*X,*U,*D)
  v1.12 - 2008.11.16 by migius
  d1 remove try_finally: cause not supported in python <2.5
  d1 add Bezier curves bevel radius support (default 1.0)
@@ -309,9 +314,17 @@
 #from dxfReader import get_name, get_layer
 from dxfReader import Object as dxfObject
 from dxfColorMap import color_map
-
 from math import *
 
+# osx-patch by Blinkozo
+#todo: avoid additional modules, prefer Blender-build-in test routines
+#import platform
+#if platform.python_version() < '2.4':
+#    from sets import Set as set
+#from sys import version_info
+#ver = '%s.%s' % version_info[0:2]
+# end osx-patch
+
 try:
        import os
        if os.name != 'mac':
@@ -950,7 +963,7 @@
                if thic < settings.var['dist_min']: thic = 
settings.var['dist_min']
 
                if points_as in [1,3,4,5]:
-                       if True: # points_as in [1,5]: # as 'empty'
+                       if points_as in [1,5]: # as 'empty'
                                c = 'Empty'
                        elif points_as == 3: # as 'thin sphere'
                                res = settings.var['thin_res']
@@ -1276,66 +1289,6 @@
                pline = Curve.New(obname)   # create new curve data
                #pline.setResolu(24) #--todo-----                               
                
 
-               if False: #old self.spline:  # NURBSplines-----OK-----
-                       #print 'deb:polyline2dCurve.draw self.spline!' 
#---------------
-                       weight1 = 0.5
-                       weight2 = 1.0
-                       if self.curvQuadrati:
-                               # Bezier-curve form simulated in NURBS-curve
-                               # generate middlepoints except 
start/end-segments ---
-                               #print 'deb:polyline2dCurve.draw 
extraQBspline!' #---------------
-                               temp_points = []
-                               point = d_points[0].loc
-                               point.append(weight1)
-                               temp_points.append(point)
-                               for i in xrange(1,len(d_points)-2):
-                                       point1 = d_points[i].loc
-                                       point2 = d_points[i+1].loc
-                                       mpoint = list((Mathutils.Vector(point1) 
+ Mathutils.Vector(point2)) * 0.5)
-                                       mpoint.append(weight2)
-                                       point1.append(weight1)
-                                       temp_points.append(point1)
-                                       temp_points.append(mpoint)
-                               point2.append(weight1)
-                               temp_points.append(point2)
-                               point = d_points[-1].loc
-                               point.append(weight1)
-                               temp_points.append(point)
-                               d_points = temp_points
-                       else:
-                               temp_points = []
-                               for d in d_points:
-                                       d = d.loc
-                                       d.append(weight1)
-                                       temp_points.append(d)
-                               d_points = temp_points
-
-                       if not self.closed:
-                               # generate extended startpoint and 
endpoint------
-                               point1 = Mathutils.Vector(d_points[0][:3])
-                               point2 = Mathutils.Vector(d_points[1][:3])
-                               startpoint = list(point1 - point2 + point1)
-                               startpoint.append(weight1)
-                               point1 = Mathutils.Vector(d_points[-1][:3])
-                               point2 = Mathutils.Vector(d_points[-2][:3])
-                               endpoint = list(point1 - point2 + point1)
-                               endpoint.append(weight1)
-                               temp_points = []
-                               temp_points.append(startpoint)
-                               temp_points.extend(d_points)
-                               d_points = temp_points
-                               d_points.append(endpoint)
-
-                       point = d_points[0]
-                       curve = pline.appendNurb(point)
-                       curve.setType(4) #NURBS curve
-                       for point in d_points[1:]:
-                               curve.append(point)
-                       if self.closed:
-                               curve.flagU = 1 # Set curve cyclic=close
-                       else:
-                               curve.flagU = 0 # Set curve not cyclic=open
-
                if self.spline:  # NURBSplines-----OK-----
                        #print 'deb:polyline2dCurve.draw self.spline!' 
#---------------
                        nurbs_points = []
@@ -1358,21 +1311,6 @@
                        except AttributeError: pass
                        #print 'deb: dir(curve):', dir(curve) #----------------
 
-               elif  False: #orig self.curved:  #--Bezier-curves---OK-------
-                       #print 'deb:polyline2dCurve.draw self.curved!' 
#---------------
-                       curve = pline.appendNurb(BezTriple.New(d_points[0]))
-                       for p in d_points[1:]:
-                               curve.append(BezTriple.New(p))
-                       for point in curve:
-                               point.handleTypes = [AUTO, AUTO]
-                               point.radius = 1.0
-                       if self.closed:
-                               curve.flagU = 1 # Set curve cyclic=close
-                       else:
-                               curve.flagU = 0 # Set curve not cyclic=open
-                               curve[0].handleTypes = [FREE, ALIGN]   
#remi--todo-----
-                               curve[-1].handleTypes = [ALIGN, FREE]   
#remi--todo-----
-
                elif  self.curved:  #--SPLINE as Bezier-curves---wip------
                        #print 'deb:polyline2dCurve.draw self.curved!' 
#---------------
                        begtangent, endtangent = None, None
@@ -1424,68 +1362,48 @@
                        for i in xrange(len(d_points)):
                                point1 = d_points[i]
                                #point2 = d_points[i+1]
-                               if False: #-----outdated!- standard calculation 
----------------------------------
-                                       if point1.bulge and (i < 
len(d_points)-2 or self.closed):
-                                               verts, center = 
calcBulge(point1, point2, arc_res, triples=False)
-                                               if i == 0: curve = 
pline.appendNurb(BezTriple.New(verts[0]))
-                                               else: 
curve.append(BezTriple.New(verts[0]))
-                                               curve[-1].handleTypes = [VECT, 
VECT]  #--todo--calculation of bezier-tangents
-                                               curve[-1].radius = 1.0
-                                               for p in verts[1:]:
-                                                       
curve.append(BezTriple.New(p))
-                                                       curve[-1].handleTypes = 
[AUTO, AUTO]
-                                                       curve[-1].radius = 1.0
-                                       else:
-                                               if i == 0: curve = 
pline.appendNurb(BezTriple.New(point1.loc))
-                                               else: 
curve.append(BezTriple.New(point1.loc))
-                                               curve[-1].handleTypes = [VECT, 
VECT]   #--todo--calculation of bezier-tangents
-                                               curve[-1].radius = 1.0
+                               #----- optimised Bezier-Handles calculation 
--------------------------------
+                               #print 'deb:drawPlineCurve: i:', i #---------
+                               if point1.bulge and not (i == len(d_points)-1 
and point1.bulge and not self.closed):
+                                       if i == len(d_points)-1: point2 = 
d_points[0]
+                                       else: point2 = d_points[i+1]
 
-                               elif True:   #----- optimised Bezier-Handles 
calculation --------------------------------
-                                       #print 'deb:drawPlineCurve: i:', i 
#---------
-                                       if point1.bulge and not (i == 
len(d_points)-1 and point1.bulge and not self.closed):
-                                               if i == len(d_points)-1: point2 
= d_points[0]
-                                               else: point2 = d_points[i+1]
 
+                                       # calculate additional points for bulge
+                                       VectorTriples = calcBulge(point1, 
point2, arc_res, triples=True)
 
-                                               # calculate additional points 
for bulge
-                                               VectorTriples = 
calcBulge(point1, point2, arc_res, triples=True)
+                                       if prevHandleType == FREE:
+                                               #print 'deb:drawPlineCurve: 
VectorTriples[0]:', VectorTriples[0] #---------
+                                               VectorTriples[0][:3] = 
prevHandleVect
+                                               #print 'deb:drawPlineCurve: 
VectorTriples[0]:', VectorTriples[0] #---------
 
-                                               if prevHandleType == FREE:
-                                                       #print 
'deb:drawPlineCurve: VectorTriples[0]:', VectorTriples[0] #---------
-                                                       VectorTriples[0][:3] = 
prevHandleVect
-                                                       #print 
'deb:drawPlineCurve: VectorTriples[0]:', VectorTriples[0] #---------
+                                       if i == 0: curve = 
pline.appendNurb(BezTriple.New(VectorTriples[0]))
+                                       else: 
curve.append(BezTriple.New(VectorTriples[0]))
+                                       curve[-1].handleTypes = 
[prevHandleType, FREE]
+                                       curve[-1].radius = 1.0
 
-                                               if i == 0: curve = 
pline.appendNurb(BezTriple.New(VectorTriples[0]))
-                                               else: 
curve.append(BezTriple.New(VectorTriples[0]))
-                                               curve[-1].handleTypes = 
[prevHandleType, FREE]
+                                       for p in VectorTriples[1:-1]:
+                                               curve.append(BezTriple.New(p))
+                                               curve[-1].handleTypes = [FREE, 
FREE]
                                                curve[-1].radius = 1.0
 
-                                               for p in VectorTriples[1:-1]:
-                                                       
curve.append(BezTriple.New(p))
-                                                       curve[-1].handleTypes = 
[FREE, FREE]
-                                                       curve[-1].radius = 1.0
-
-                                               prevHandleVect = 
VectorTriples[-1][:3]
-                                               prevHandleType = FREE
-                                               #print 'deb:drawPlineCurve: 
prevHandleVect:', prevHandleVect #---------
+                                       prevHandleVect = VectorTriples[-1][:3]
+                                       prevHandleType = FREE
+                                       #print 'deb:drawPlineCurve: 
prevHandleVect:', prevHandleVect #---------
+                               else:
+                                       #print 'deb:drawPlineCurve: else' 
#----------
+                                       if prevHandleType == FREE:
+                                               VectorTriples = prevHandleVect 
+ list(point1) + list(point1)
+                                               #print 'deb:drawPlineCurve: 
VectorTriples:', VectorTriples #---------
+                                               
curve.append(BezTriple.New(VectorTriples))
+                                               curve[-1].handleTypes = [FREE, 
VECT]
+                                               prevHandleType = VECT
+                                               curve[-1].radius = 1.0
                                        else:
-                                               #print 'deb:drawPlineCurve: 
else' #----------
-                                               if prevHandleType == FREE:
-                                                       VectorTriples = 
prevHandleVect + list(point1) + list(point1)
-                                                       #print 
'deb:drawPlineCurve: VectorTriples:', VectorTriples #---------
-                                                       
curve.append(BezTriple.New(VectorTriples))
-                                                       curve[-1].handleTypes = 
[FREE, VECT]
-                                                       prevHandleType = VECT
-                                                       curve[-1].radius = 1.0
-                                               else:
-                                                       if i == 0: curve = 
pline.appendNurb(BezTriple.New(point1.loc))

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to