edwardvmills / silk Goto Github PK
View Code? Open in Web Editor NEWNURBS Surface modeling tools focused on low degree and seam continuity (FreeCAD Workbench)
Home Page: https://edwardvmills.github.io/Silk/
NURBS Surface modeling tools focused on low degree and seam continuity (FreeCAD Workbench)
Home Page: https://edwardvmills.github.io/Silk/
I'm using the NURBLsLib tutorials on SILK in
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.23463 (Git)
Build type: Release
Branch: master
Hash: adc6db8f32c17e9f67cb82aa7962d1e42ce061c6
Python version: 3.8.6
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)
When trying to create a control polygon and then curve I get the errors shown in the screen capture
Testing on Demo03, delete and recreate any of the NStar surfaces. Operation completes successfully, but on document save the following error is emitted:
CubicNStarSurface_NStar66 Init
09:12:16 GeomBSplineSurface::Save
This very quiet error results in a partially corrupted file, which upon reopening emits these errors:
09:12:16 GeomBSplineSurface::Save
09:15:18 GeomBSplineSurface::Restore
09:15:18 Fatal Error at file /home/.../Silk_Demo_03_NStarBug.FCStd, line 26884, char 27
09:15:18 Invalid Document.xml: expected end of tag 'Geometry'
The contents of the Document.xml file show the object malformed as such, with the GeometryList terminating immediately after starting the Part::GeomBSplineSurface object and leaving the GeometryList open:
<Property name="NSurf" type="Part::PropertyGeometryList" group="CubicNStarSurface_NStar66" doc="N Cubic Surfaces" attr="0" ro="0" hide="0" status="2097152">
<GeometryList count="5">
<Geometry type="Part::GeomBSplineSurface">
</Property>
<Property name="Placement" type="App::PropertyPlacement" status="8388608">
<PropertyPlacement Px="0.0000000000000000" Py="0.0000000000000000" Pz="0.0000000000000000" Q0="0.0000000000000000" Q1="0.0000000000000000" Q2="0.0000000000000000" Q3="1.0000000000000000" A="0.0000000000000000" Ox="0.0000000000000000" Oy="0.0000000000000000" Oz="1.0000000000000000"/>
</Property>
<Property name="Proxy" type="App::PropertyPythonObject">
<Python value="e30=" encoded="yes" module="ArachNURBS" class="CubicNStarSurface_NStar66"/>
</Property>
<Property name="Shape" type="Part::PropertyPartShape">
<Part file="PartShape268.brp"/>
</Property>
<Property name="Visibility" type="App::PropertyBool" status="648">
<Bool value="true"/>
</Property>
</Properties>
</Object>
Hi Edward, hope you are alright? We haven't heard from you in a while?
I created a topic General surface creation with emills2 "Silk" in the FreeCAD forum where I asked you if you could show me how to create a general surface. Where the hard part is to create the surrounding ruling surfaces.
The ruling surfaces shall be created in such a way that each corner is forced to be, at least, tangent to the local plane. This will gaurantee tangency with the neighbouring surfaces.
As can be seen in the model, the first corner-point is parent for the other three corner-points.
Each corner-point is parent for the two vector-points making up the ends of the directional vectors per corner.
Each plane is defined by the corners directional vectors/lines, hence creating a way of forcing everything to be, at the very least, tangent to each other.
So, by having everything connected to the first point it is easy to move the whole package around with just one set of [x,y,z] values and still having everything fully parametric.
But the best part is that it will be rock steady with respect to TopoNaming!
Will submit a PR soon
Installed by cloning git repo:
Cannot find icon: /home/przemo/.FreeCAD/Mod/Silk/Resources/Icons\Point_onCurve.svg Cannot find icon: /home/przemo/.FreeCAD/Mod/Silk/Resources/Icons\SubGrid33_2Grid64.svg
Right now, many of the icons are just placeholder names of the icon name, for example: https://github.com/edwardvmills/Silk/blob/master/ControlGrid66.py#L57
Please consider using python code auto formatting tools, like autopep8 [1].
[1] https://pypi.python.org/pypi/autopep8
Hello
In my custom build (git 0.18 and 0.17) i get this error
Missing parentheses in call to 'print'. Did you mean print('curves do not share endpoints')? (ArachNURBS.py, line 108)
Can you help me to get Silk wirking?
PS: on appimage freecad build all works fine
My libs:
Boost 1_65
Coin3D 4.0.0a
Open CASCADE Technology 7.3.0
Python 3.6.5
Qt 5.11.1
zlib 1.2.11
We can also add LGTM analysis per FreeCAD/FreeCAD-addons#163
Please consider making a short video manual showing basic functions. I played with the workbench for ~2 hours and I failed to go beyond creating cubic curve and I'm not sure if it's my lack of knowledge or errors in the code.
@edwardvmills I'd be happy to overhaul the icons of this WB to be consistent with FreeCAD Artwork Guidelines and to be legible with dark themes:
Before I start one question: You have a .svg and .png version of the icons. Is the .png used anywhere? Also the same icons seem to be duplicated with a different name, could they be unified to use the same .svg source?
Please add version info to package.xml
https://github.com/edwardvmills/Silk/blob/master/package.xml#L5-L6
Originally posted by @luzpaz in #24 (comment)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.