[Bf-extensions-cvs] [cded330d] master: update to 2.80

zeffii noreply at git.blender.org
Fri Dec 21 14:09:28 CET 2018


Commit: cded330df441082cdc5844dfb61e1555880ed538
Author: zeffii
Date:   Fri Dec 21 14:08:53 2018 +0100
Branches: master
https://developer.blender.org/rBAcded330df441082cdc5844dfb61e1555880ed538

update to 2.80

===================================================================

M	mesh_tiny_cad/CCEN.py
M	mesh_tiny_cad/CFG.py
M	mesh_tiny_cad/E2F.py
A	mesh_tiny_cad/README.md
M	mesh_tiny_cad/VTX.py
M	mesh_tiny_cad/XALL.py
M	mesh_tiny_cad/__init__.py

===================================================================

diff --git a/mesh_tiny_cad/CCEN.py b/mesh_tiny_cad/CCEN.py
index ef2b5eae..48e484a6 100644
--- a/mesh_tiny_cad/CCEN.py
+++ b/mesh_tiny_cad/CCEN.py
@@ -44,7 +44,7 @@ def generate_bmesh_repr(p1, v1, axis, num_verts):
     for i in range(num_verts + 1):
         theta = gamma * i
         mat_rot = mathutils.Matrix.Rotation(theta, 4, axis)
-        local_point = (mat_rot * ((v1 - p1) * rescale))
+        local_point = (mat_rot @ ((v1 - p1) * rescale))
         chain.append(local_point + p1)
 
     obj = bpy.context.edit_object
@@ -81,15 +81,15 @@ def generate_3PT(pts, obj, nv, mode=1):
     mat_rot = mathutils.Matrix.Rotation(math.radians(90.0), 4, axis)
 
     # triangle edges
-    v1_ = ((v1 - edge1_mid) * mat_rot) + edge1_mid
-    v2_ = ((v2 - edge1_mid) * mat_rot) + edge1_mid
-    v3_ = ((v3 - edge2_mid) * mat_rot) + edge2_mid
-    v4_ = ((v4 - edge2_mid) * mat_rot) + edge2_mid
+    v1_ = ((v1 - edge1_mid) @ mat_rot) + edge1_mid
+    v2_ = ((v2 - edge1_mid) @ mat_rot) + edge1_mid
+    v3_ = ((v3 - edge2_mid) @ mat_rot) + edge2_mid
+    v4_ = ((v4 - edge2_mid) @ mat_rot) + edge2_mid
 
     r = geometry.intersect_line_line(v1_, v2_, v3_, v4_)
     if r:
         p1, _ = r
-        cp = mw * p1
+        cp = mw @ p1
         bpy.context.scene.cursor_location = cp
 
         if mode == 0:
@@ -133,7 +133,7 @@ class TCCallBackCCEN(bpy.types.Operator):
 
 
 class TCCircleCenter(bpy.types.Operator):
-    '''Recreate a Circle from 3 selected verts, move 3dcursor its center'''
+    '''Recreate a Circle from 3 selected verts, move 3dcursor to its center'''
 
     bl_idname = 'tinycad.circlecenter'
     bl_label = 'CCEN circle center from selected'
@@ -147,7 +147,7 @@ class TCCircleCenter(bpy.types.Operator):
         col.prop(scn.tinycad_props, 'num_verts', text='num verts')
         row = col.row(align=True)
         row.prop(scn.tinycad_props, 'rescale', text='rescale')
-        row.operator('tinycad.reset_circlescale', text="", icon="LINK")
+        row.operator('tinycad.reset_circlescale', text="", icon="PIVOT_CURSOR")
 
     @classmethod
     def poll(cls, context):
diff --git a/mesh_tiny_cad/CFG.py b/mesh_tiny_cad/CFG.py
index 55e0ff9f..9eb02a29 100644
--- a/mesh_tiny_cad/CFG.py
+++ b/mesh_tiny_cad/CFG.py
@@ -28,10 +28,10 @@ icon_collection = {}
 
 class TinyCADProperties(bpy.types.PropertyGroup):
 
-    num_verts = bpy.props.IntProperty(
+    num_verts: bpy.props.IntProperty(
         min=3, max=60, default=12)
 
-    rescale = bpy.props.FloatProperty(
+    rescale: bpy.props.FloatProperty(
         default=1.0,
         precision=4,
         min=0.0001)
diff --git a/mesh_tiny_cad/E2F.py b/mesh_tiny_cad/E2F.py
index 70b51298..25f17e9f 100644
--- a/mesh_tiny_cad/E2F.py
+++ b/mesh_tiny_cad/E2F.py
@@ -29,9 +29,9 @@ def failure_message(self):
 
 def failure_message_on_plane(self):
     msg2 = """\
-Edge2Face expects the edge to intersect at one point on the plane of the selected face. You're
-seeing this warning because mathutils.geometry.intersect_line_plane is being called on an edge/face
-combination that has no clear intersection point ( both points of the edge either touch the same
+Edge2Face expects the edge to intersect at one point on the plane of the selected face. You're  
+seeing this warning because mathutils.geometry.intersect_line_plane is being called on an edge/face  
+combination that has no clear intersection point ( both points of the edge either touch the same  
 plane as the face or they lie in a plane that is offset along the face's normal )"""
     lines = msg2.split('\n')
     for line in lines:
diff --git a/mesh_tiny_cad/README.md b/mesh_tiny_cad/README.md
new file mode 100644
index 00000000..69fe9ab6
--- /dev/null
+++ b/mesh_tiny_cad/README.md
@@ -0,0 +1,92 @@
+Blender CAD utils (for Blender 2.80+)
+=====================================
+
+A tiny subset of unmissable CAD functions for Blender 3d.  
+Addon [page on blender.org/wiki](http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Modeling/mesh_tinyCAD) (Which has most of the same info]  
+
+### Installation
+
+The add-on is currently included in standard installations on Blender 2.78 onwards. Enable it by doing a search in `User Preferences > Add-ons > and type 'tiny' into the search field`. Enable 'Mesh: tinyCAD Mesh tools'.
+
+In Blender 2.80 distributions you might encounter an older version of this add-on, if it fails to load/run/enable, please install it again from this github repository. 
+
+__________________
+
+
+### OK, what's this all about?
+
+Dedicated CAD software speeds up drafting significantly with functions like: `Extend`, `Trim`,  `Intersect`, `Fillet /w radius` and `Offset /w distance`. At the moment of this writing many of these functions aren't included by default in regular distributions on Blender.org, so i've coded scripts to perform a few of the main features that I missed most. 
+  
+My scripts have shortnames: `VTX, V2X, XALL, BIX, CCEN` and are described separately in sections below. `Fillet` and `Offset` are written by zmj100 and can be found [here](http://blenderartists.org/forum/showthread.php?179375).
+
+
+Since I started this repository: Vertex Fillet / Bevel was added to master. So no more need for a separate addon.  (Ctrl+Shift+b)
+
+### VTX
+
+The VTX script has lived in contrib distributions of Blender since 2010, with relatively minor changes. The feedback from BlenderArtists has been [overwhelmingly positive](http://blenderartists.org/forum/showthread.php?204836-CAD-Addon-Edge-Tools-(blender-2-6x)). I'm not going to claim it's bug free, but finding any showstopping issues has proven difficult. It now performs V, T or X selection automatically.   
+  
+Expect full freedom of orientation, but stuff must really intersect within error margins (`1.5E-6` = tolerance). These kinds of functions are handy for drawing construction lines and fixing up geometry. 
+
+  - V : extending two edges towards their _calculated_ intersection point.  
+   ![V](http://i.imgur.com/zBSciFf.png)
+
+  - T : extending the path of one edge towards another edge.  
+   ![T](http://i.imgur.com/CDH5oHm.png)
+
+  - X : two edges intersect, their intersection gets a weld vertex. You now have 4 edges and 5 vertices.  
+   ![X](http://i.imgur.com/kqtX9OE.png)
+
+
+- Select two edges  
+- hit `Spacebar` and type `vtx` ..select `autoVTX`  
+- Bam. the rest is taken care of.
+
+
+### X ALL
+
+Intersect all, it programatically goes through all selected edges and slices them all using any found intersections, then welds them.
+
+  - XALL is fast!  
+  ![Imgur](http://i.imgur.com/1I7totI.gif)
+  - Select as many edges as you want to intersect.
+  - hit `spacebar` and type `xa`  ..select `XALL intersect all edges`
+
+### V2X (Vertex to Intersection)
+
+This might be a niche accessory, but sometimes all you want is a vertex positioned on the intersection of two edges. Nothing fancy.
+
+### BIX (generate Bisector)
+
+Creates a single edge which is the bisect of two edges.  
+![Imgur](http://i.imgur.com/uzyv1Mv.gif)  
+
+### CCEN (Circle Centers)
+
+Given either 
+
+- two adjacent edges on the circumference of an incomplete circle
+- or three vertices (not required to be adjacent)
+
+this operator will places the 3d cursor at original center of that circle.
+
+![imgur](https://cloud.githubusercontent.com/assets/619340/5595657/2786f984-9279-11e4-9dff-9db5d5a52a52.gif)
+
+updated version may become a modal operator to generate a full set of circle vertices, with variable vertex count.
+
+![imgur demo](https://cloud.githubusercontent.com/assets/619340/5602194/ce613c96-933d-11e4-9879-d2cfc686cb69.gif)
+  
+### E2F (Extend Edge to Selected Face, Edge 2 Face)
+
+Select a single Edge and a single Polygon (ngon, tri, quad) within the same Object. Execute `W > TinyCAD > E2F`
+
+![image](https://cloud.githubusercontent.com/assets/619340/12091278/2884820e-b2f6-11e5-9f1b-37ebfdf10cfc.png)
+
+
+### Why on github?
+
+The issue tracker, use it.  
+
+-  Let me know if these things are broken in new releases. Why? I don't update Blender as often as some so am oblivious to the slow evolution. 
+-  If you can make a valid argument for extra functionality and it seems like something I might use or be able to implement for fun, it's going to happen.
+-  I'm always open to pull requests (just don't expect instant approval of something massive, we can talk..you can use your gift of persuasion and sharp objectivism)
diff --git a/mesh_tiny_cad/VTX.py b/mesh_tiny_cad/VTX.py
index c06184e8..531b99b6 100644
--- a/mesh_tiny_cad/VTX.py
+++ b/mesh_tiny_cad/VTX.py
@@ -69,7 +69,7 @@ def add_edges(bm, pt, idxs, fdp):
 
 def remove_earmarked_edges(bm, earmarked):
     edges_select = [e for e in bm.edges if e.index in earmarked]
-    bmesh.ops.delete(bm, geom=edges_select, context=2)
+    bmesh.ops.delete(bm, geom=edges_select, context='EDGES')
 
 
 def perform_vtx(bm, pt, edges, pts, vertex_indices):
@@ -122,7 +122,7 @@ def do_vtx_if_appropriate(bm, edges):
     if not coplanar:
         return {'NON_PLANAR_EDGES'}
 
-    # point must lie on an edge or the virtual extension of an edge
+    # point must lie on an edge or the virtual extention of an edge
     bm = perform_vtx(bm, point, edges, (p1, p2, p3, p4), vertex_indices)
     return bm
 
diff --git a/mesh_tiny_cad/XALL.py b/mesh_tiny_cad/XALL.py
index fc0ed76e..a240c56f 100644
--- a/mesh_tiny_cad/XALL.py
+++ b/mesh_tiny_cad/XALL.py
@@ -125,7 +125,7 @@ def update_mesh(bm, d):
             bm.normal_update()
             collect([a, b])
 
-    bmesh.ops.delete(bm, geom=[edge for edge in bm.edges if edge.select], context=2) # 2 = edges
+    bmesh.ops.delete(bm, geom=[edge for edge in bm.edges if edge.select], context='EDGES')
 
     #bpy.ops.mesh.remove_doubles(
     #    threshold=cm.CAD_prefs.VTX_DOUBLES_THRSHLD,
diff --git a/mesh_tiny_cad/__init__.py b/mesh_tiny_cad/__init__.py
index d614ddcd..8905baa8 100644
--- a/mesh_tiny_cad/__init__.py
+++ b/mesh_tiny_cad/__init__.py
@@ -22,8 +22,8 @@
 bl_info = {
     "name": "tinyCAD Mesh tools",
     "author": "zeffii (aka Dealga McArdle)",
-    "version": (1, 3, 1),
-    "blender": (2, 7, 7),
+    "version": (1, 3, 2),
+    "blender": (2, 80, 0),
     "category": "Mesh",
     "location": "View3D > EditMode > (w

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list