Search found 237 matches

by project4
Mon Jul 23, 2018 7:49 pm
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

let's wait for a prototype, consider the axis are mainly the ref axis of a constraint. i.e. in circular edge the remaining dof will be one rot axis, the same used for the constraint. if another circular edge is defined on the same rigid, we have to compare the axis of the second constraint of the t...
by project4
Mon Jul 23, 2018 6:34 pm
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

@project4, @turro75, just updated branch solver-stabilization again... I still have a problem to understand the calcRefPointsBoundBoxSize function... What is a rigid have only one dependency? Leaf object in the hierarchy chart... In that case xmin=xmax and refPointsBoundBoxSize will be zero. Is it ...
by project4
Mon Jul 23, 2018 6:31 pm
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

Hi @Turro, this are good news. If we need six axis' inside a rigid, I think we have to implement 2 vectors per axis. One to the beginning, one to the end. So if a rigid is rotated, the axis can be reconstructed. But it will be more overhead as there 12 vectors more to be rotated. It is a lot ! Can'...
by project4
Mon Jul 23, 2018 6:08 pm
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

@Kbwbe @project4 quite good news, the theory on DOF analisys is almost done. The ASM2 code has a really good approach to this, once decoded the method is not so hard finding an algo which handles the random condition could happens (I do really hate python on Freecad...it was so hard reading code wi...
by project4
Mon Jul 23, 2018 5:40 pm
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

@kbwbe, This function doesn't look logical to me, or if it's correct, it might not work with partial computation implementation: def calcRefPointsBoundBoxSize(self): xmin = 0 xmax = 0 ymin = 0 ymax = 0 zmin = 0 zmax = 0 for rig in self.rigids: for dep in rig.dependencies: if dep.refPoint.x < xmin: x...
by project4
Mon Jul 23, 2018 1:18 pm
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

@kbwbe Question about that IF where you changed the condition from 0 to 1: if ( len(depMoveVectors) > 1 and rig.spinCenter != None ): The rest of the axis rotation processing sits under that IF as well... So I wonder if its not a bug... What if an assembly has only rotating constraints, but not mova...
by project4
Mon Jul 23, 2018 12:42 pm
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

find here: else: #if dep.direction... (== none) rigAxis = dep.refAxisEnd.sub(dep.refPoint) # because of rotations, a vector refAxisEnd is stored in rig, this here gets axis again... foreignAxis1 = dep.foreignDependency.refAxisEnd.sub( dep.foreignDependency.refPoint ) # same for foreign Axis... fore...
by project4
Mon Jul 23, 2018 11:37 am
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

i think the biggest bug is found, see my last post regarding missing spin averate during axis align ! I think thats the main problem Great. Please update the solver-stabilization branch, I'll take the code from there. Find here... vec1 = depRefPoints[i].sub(rig.spinCenter) # 'aka Radius' # oriented...
by project4
Mon Jul 23, 2018 10:21 am
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

This is not correct. I do this in code. Look here: . #compute rotation caused by refPoint-attractions and axes mismatch if ( len(depMoveVectors) > 1 and rig.spinCenter != None ): rig.spin = Base.Vector(0,0,0) tmpSpin = Base.Vector(0,0,0) count = 0 for i in range(0,len(depRefPoints)): try: vec1 = de...
by project4
Mon Jul 23, 2018 8:48 am
Forum: Assembly
Topic: Another approach to assembly solver (A2plus)
Replies: 1842
Views: 520115

Re: Another approach to assembly solver (A2plus)

@kbwbe, will appreciate your help to understand the rotation logic. I'm trying to make the code easier to understand around the move and dependencies. There are no comments ( :evil: ) so I have to deep dive and guess. The movement is pretty easy. You sum up all the movement vectors and move by avera...