<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Here’s a more technical explanation of constraint solving in sketchflat (solvespace’s predecessor):<div><a href="http://cq.cx/dl/sketchflat-internals.pdf">http://cq.cx/dl/sketchflat-internals.pdf</a></div><div><br></div><div>My constraint writeup is very exploratory and shouldn’t be taken seriously</div><div>(but there are neat interactive visualizations).<br><div><br></div><div>-Matt</div><div><br><div><div>On Nov 17, 2015, at 7:23 PM, Nancy Ouyang &lt;<a href="mailto:nancy.ouyang@gmail.com">nancy.ouyang@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div><div>Based on group interest, this week we'll read about solvespace, which as of March 2015 has a native linux port. It's Brep based.<br><br></div><div>I'll throw out these links and if someone has input on any particular reading / activity for the reading group, let the list know -- otherwise I'll pick something tomorrow night.<br><br></div><div>Thanks,<br></div><div>--Nancy<br>==================<br></div><br>Youtube demo: <a href="https://www.youtube.com/watch?v=2r8Y4tOeYZQ">https://www.youtube.com/watch?v=2r8Y4tOeYZQ</a><br>Source: <a href="https://github.com/jwesthues/solvespace">https://github.com/jwesthues/solvespace</a><br>Windows: <a href="http://solvespace.com/download.pl">http://solvespace.com/download.pl</a><br>Linux:
<a href="http://solvespace.com/forum.pl?action=viewthread&amp;parent=574" rel="nofollow">http://solvespace.com/forum.pl?action=viewthread&amp;parent=574</a><br>OSX:
<a href="http://solvespace.com/forum.pl?action=viewthread&amp;parent=586" rel="nofollow">http://solvespace.com/forum.pl?action=viewthread&amp;parent=586</a></div><div><div><span class=""></span><br>Constraint solver as python library: <a href="https://github.com/BBBSnowball/python-solvespace">https://github.com/BBBSnowball/python-solvespace</a><br><br>Brief description of Solvespace's constraint solver: <a href="http://solvespace.com/tech.pl">http://solvespace.com/tech.pl</a><br><br></div><div>Matt's explanation of constraints: <a href="http://www.mattkeeter.com/projects/constraints/">http://www.mattkeeter.com/projects/constraints/</a><br><br></div><div>Example of adding a new constraint: <a href="https://github.com/ruevs/solvespace/commit/9963d9bb25d1e17ed5d5bbe8cd42fc73c8326f7c">https://github.com/ruevs/solvespace/commit/9963d9bb25d1e17ed5d5bbe8cd42fc73c8326f7c</a> (from <a href="http://solvespace.com/forum.pl?action=viewthread&amp;parent=1005">http://solvespace.com/forum.pl?action=viewthread&amp;parent=1005</a>)<br></div><div><br></div><div>My friend's complaints about solvespace:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><br>it seems like the solver might be mostly symbolic<br>with some sort of parser to evaluate<br><br>well i need to look at the source<br>but the equations should be numerically represented<br>otherwise you spend most of your time parsing a large system rather than doing math<br>even worth parsing is slow because it has lots of branches<br></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">&nbsp;</blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">might look at solvespace in more detail later, it at least sounds hopeful<br>depends on whether the newton iteration is done on a matrix or by symbolically evaluating the constraints<br><br>ew solvespace stores constraints and jacobians as expression trees<br></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">&nbsp;</blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">if i really cared about this i would start rewriting the Expr and System classes of solvespace<br></blockquote><br clear="all"></div><div><div><div class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><font size="2"><font color="#666666">~~~<br><a href="http://narwhaledu.org/" target="_blank">narwhaledu.org</a>, educational <a href="http://gfycat.com/ExcitableLeanAkitainu" target="_blank">robots</a>&nbsp;[[&lt;(._.)&gt;]]&nbsp;</font></font><a href="http://www.orangenarwhals.com/" style="font-size:12.8px" target="_blank">my personal blog</a><span style="color:rgb(102,102,102);font-size:12.8px">, orangenarwhals</span></div></div></div></div></div></div></div></div></div>
</div></div></div>
</blockquote></div><br></div></div></body></html>