Monday, October 29, 2012

Editing constrained shapes on faces

I've improved the editing of constrained shapes on 3D faces:



There are still issues with the hinter and some special cases, and I need to test all the constraints for all the cases, but the changes should be ready this week.

Friday, October 26, 2012

Released NaroCAD 1.7.0 Beta

Today we released a new version of NaroCAD:
- Fixed the Cut Tool
- Fixed face selection, drawing and editing
- Improved constraints and related shapes loading algorithm
- Improved hinter speed
- Improved rectangle drawing and solve speed
- Fixed 3D solids drawing and property grid editing

You can download NaroCAD 1.7.0 here.

For the next release we'll improve editing and constraints on 3D object faces and 3D object translate and rotation.

Tuesday, October 23, 2012

Fixes for Cut

Until now, the cut tool tried to cut using the selected shape, which was a wire instead of a face. Now I've modified it to auto create faces and use the one that contains the selected wire (it correctly selects a rectangle when one of its lines is selected).

You can see a demonstration of the tool used in its three form: cut to depth for positive and negative values and cut through all:

Monday, October 22, 2012

Thursday, October 18, 2012

3D bug fixing

I've fixed some more bugs that affected 3D drawing and now I'm working on improving the Hinter which automatically adds perpendicular constraints between lines that are in perpendicular planes, but not perpendicular.

I also started testing the other 3D tools that can be used now that we can create sketches on extrusion faces, and the boolean operations work correctly:

Tuesday, October 16, 2012

Sketch improvements

I continued working on the sketch selection and fixed the issues I mentioned in the previous posts.

Here is a video demonstrating some of the new functionalities:
- select a face of an extruded shape for a new sketch
- draw different shapes on the face and extrude them
- use a shape on a face to select its sketch for editing
- edit shapes on the face

Monday, October 15, 2012

Speed improvements for rectangle

Rectangle drawing was slow, especially after more than one rectangle was drawn, because after each mouse move, when drawing the preview rectangle, the seven constraints were added, as well. I've updated the code so that during drawing the lines are drawn, but the constraints are added only once.

Here is a comparison, where I drew rectangles with the old version - the delay in drawing starts after the fourth rectangle is drawn. In the new version, there is no such delay (the message box is about the tree view, an issue I'll be working on soon):

Thursday, October 11, 2012

More fixes for Sketch

Today I fixed the bugs I talked about in yesterday's post, but unfortunately there is a problem with the face selection. Currently, the first face of the solid is being selected instead of the one we clicked on (if it's a different one).

Wednesday, October 10, 2012

New file bug fix and sketch investigations

Today I fixed the new file issue: when creating a new file, three green rectangles were added to the original axes (drawing a trihedron). The problem was caused by the automatic template we used which also had these, and was fixed by changing the file to one which has only the information needed for a blank stage.

I've also investigated the last scenario for 'Enter Sketch': selecting a face of a 3D object. There are two problems we have for this scenario:
- the Animation Document doesn't have the Axis set correctly and all 'intermediate' shapes are drawn in the default, xOy plane
- the final shape is drawn on the plane that is parallel to the one that was selected and which contains the origin

I am working on fixing this two issues and hopefully they'll be included in Friday's release.

Friday, October 5, 2012

Editing an existing sketch

I'm working on improving the sketch-related functionality, the first issue being the ability to add elements to an existing sketch - from now on, if we select an element before pressing the 'Enter Sketch' button, the sketch that contains that element will be used for the edits:

Thursday, October 4, 2012

Duplicate point creation fixed and hinter options fixes

Today I fixed a bug that caused duplicate points to be created on sketch: instead of returning the existing point, a new one was created. A case when duplicate points were created was when adding a fillet/chamfer.

Before the bug fix, we had 6 points:



After the fix, only 4 points remain:



I've also fixed some bugs related to the Hinter options dialog. All the changes are commited here

Wednesday, October 3, 2012

No duplicate lines for adjacent rectangles

Until now, if we drew two adjacent rectangles, we had a total of 8 lines. Today I made a change so that if we're drawing a line between the same two points, the existing line is returned instead and we have only 7 lines:



This helps when we have a complicated drawing and instead of two lines for the same points we have only one node.

Tuesday, October 2, 2012

Translate gizmo fix and tree view constraint delete

Today I fixed two issues: the most important one is for the translation gizmo. Now it's possible to drag any shape using any of the translation gizmo axes:



The second problem was deleting constraints from the Tree View. Until now, when we pressed delete when a constraint was selected in the Tree View, the shapes it was referencing were deleted, as well. After today's fix only the constraint is deleted, the shapes behave correctly and the constraint can be added again:

Monday, October 1, 2012

Point on segment and point to edge update

Today I added a new constraint, Point on Segment, which forces a point to be on a line, inside a segment:



This constraint is used instead of Point on line for the Point to edge constraint, allowing us to avoid the solutions where the projection points would fall outside of the original edge's points:



There are still some speed related problems for the point to edge constraint, which cause the slight delay in the dimension update and which cause different values to be displayed during drag, but these will be fixed soon.