I've been trying to use Inkscape to sketch up at the scale of a house. It works pretty well, just setting a paper size of say 75 * 100 feet, and drawing away.
But there are some challenges. Are there good solutions?
To make fonts visible, I need 500 point fonts. But this breaks the font dialog, and I can't select certain options.
I'd often like to be able to exactly match a line to another line. Say a row of 4x8 foot rectangles, with all the edges exactly lined up. None of the alignment tools seem to do this.
Is there a way to set if stroke width is taken inside an object or outside? Again image a 4x8 foot of plywood, can I set the outside dimensions to exactly 4*8 feet, with any stroke width rendering inside the 4*8 dimensions? Or the outside? Right now lines are drawn in the middle.
PDF export works great, but other programs crash on loading. Is there any way to express a scale as the PDF is exported? E.g. 10:1 scale?
Is there way to place and then hide or show dimension lines? For example with the 4*8 sheet of plywood, place a dimension marker showing each edge's length? Then ideally scale the font based on the zoom level, so it can be seen at any zoom level? And ideally, have the dimensions move with the object, but not count as part of the overall size?
I recognize Inkscape is not built for CAD, but with a few solutions for the above, it would work fairly well.
As you're happy with the usual caveat of Inkscape is not a CAD program, and probably not the right tool for the job, here are some hacky workarounds based on never having done anything like this in Inkscape myself:
Put text on a separate layer at a "normal" size. Clone it, cut it to the clipboard, paste it to the destination layer and resize the clone (i.e. scale it with the selection handles or w/h fields in the toolbar, not by changing the font size). You can hide the layer with the real text on, and just show it when you need to edit the text. That should let you have huge visible text without the text object itself having a large font size - but it will be a pain to work with for lots of text objects.
Not sure what you mean on the alignment front. It sounds like a combination of the Edit > Paste Size menu and the Align & Distribute dialog should cover your needs, but a visual example would help.
No, you can't set the stroke position. It's a limitation of the SVG format. It's been raised as a useful feature with the SVG working group numerous times, but I don't think it made it into the SVG2 spec, and is unlikely to do so as the spec basically now reflects what the browser vendors are interested in implementing.
I've had the same PDF issue when working on an image several metres in width. I didn't have to deal with it, as the company doing the printing was able to handle it: their solution was to open my PDF in something that could handle it (I'm guessing it was Illustrator), then scale the content down to 1:10 before re-exporting. This suggests to me that there's not a setting in the PDF format itself to set a scale like this, and that working at 1:10 or 1:100 in the first place might be a better idea.
For hiding/showing dimension lines, you could put them on another layer and hide/show that. For the other dimension questions, not really. I refer you to the first part of your last sentence.
Any reason for not using a CAD program? There are several free (and Free) ones that would be far more suited to this than Inkscape. I used SweetHome3D when I had to sketch an extension to my house a few years back, and I believe FreeCAD has building design tools.
I have been advocating the inclusion of a "precise drawing" tool set for at least a decade. I don't think the management or developers understand what that means. It is not CAD and its ability to do FEA and other calculations. It is not parametric modeling like FreeCAD. It is simply the ability to do precise technical drawing in a 2D space. Draw a line 6-1/32 inches long.... create a circular array.... ? Any traditional drafting - technical drawing book would show the process of drawing plan, section, cut, elevation, etc. It would be very easy to add the functionality without requiring workarounds. However, for now, it just ain't being done. The belief seems to be that anyone who uses Inkscape is a web designer. Web designers sketch icons - why be precise?
As for your questions -
1 - Create your text at a small size which does not offend Inkscape. Put it all on the same layer. When it is all prepared, duplicate the layer. Convert object to paths. Scale it up to the size you need. You will find a common scaling size. Use the object > transform toolset to scale by that percentage.
2 - The best results I get come from using snap settings. Also, in the alignment tools there is a button which pushes two overlapping items far enough away from each other to be just outside each other. The problem with the function is that it pushes both items away from each other. It does not isolate a target to move. Go into the alignment set and look down toward the bottom of the window. It is a little square next to a number roller. In 1.1 it actually says remove overlap. Earlier editions are less defined.
3 - The best I could offer is the offset or inset tool under the path command group. Although, that does not allow a double line. Even the stroke and fill > stroke style settings do not allow double lines. I could write a full page of complaints about Inkscape's lack of line design options. They don't even have proportional line weights! .......000, 00....
4 - I am not aware of the scaling expression in Inkscape or other software. The best way to get the function is to export the image with the number of pixels you need. Import that PNG and print out from there. Obviously, use a scale bar on your drawings. Ignore the "do not scale" philosophy. That was developed to deal with paper - an organic substance - which changes in size. Digital does not change. Use the scale bar and a scale statement. Just make sure your 1 inch is truly 1 inch according to your drawing. 8 inches should actually be relevant to a concrete block.....
5 - Never print out of Inkscape. There is no way to turn all layers to unlock and visible. When you group everything to move it to fit into the accepted rectangle where Inkscape requires you to work - all you really do is regroup and destroy your layer stack. You will also forget to activate the scale strokes and other commands. Trying to print out of Inkscape will very easily lead you to destroy your file. Don't do it. Instead, use a backer. This is the same as having borco under your mylar. Create a rectangle, put it on its own layer below your work, lock everything but your backer, select the backer, export. Pull it into another package - Scribus? if it handles the sheet sizes [3x4?] and print from there.
6 - The best way to accomplish a dimension line is to
draw your arrows
put a small perpendicular line as a tick mark along your arrow line - do this for every level in your typical dimension stack
create that design standard and save it on your design standards layer in your file
when it comes time to dim out your drawings - pull your standard dim arrow onto a working layer. Put the arrow heads where you need them. Place your dimensions. Activate the edit paths by nodes tool. Tap on one of your ticks. Hold shift and tap on a tick at the other end of your intended horizontal dimension line. Activate the draw freehand lines pencil tool. You should see the nodes on the ticks become empty. Click your pencil cursor on one of the empty rectangles. Connect the dots. Add new nodes to cut out for your dims.
An improvement of this process might be to locate all of your arrows in the middle of your dimension stack - connect the dots - vertically space everything - activate the nodes for the right side arrow and drag move them to the right corner - repeat on left side - cut holes to not interfere with the dims.
6 - No, Inkscape is not actually a scalable graphic. If you create a drawing with a 0.1 mm line, and then zoom, the width of the line will not remain 0.1 mm on the screen. Proportional measurement is not an element in this software. Everything grows or reduces with the zoom. It is not possible to have one level of graphic like a topo site map which scales and text data on another level which - while anchored to a survey point - stays the same graphic size on the image when zooming into a location. That function has no value to icon designers who sketch [ not draw ] in Inkscape and then export to JPG or PNG. We who actually need SVG for SVG get ignored. Some of us are trying to use SVG because it is SVG - and only Inkscape is SVG - not because we cannot afford Adobe.
[ For parametric modeling - create the 2D SVG and import to Blender for the 3D modeling. There are extensions which can offer CAD functions in Blender. = Ah, freedom from Obliques and Choise Isometrics ! BLISS! ]
Have you guys found a good dimensional drawing tool? I used to use Visio Professional and Technical for a lot of scaled drawing stuff, but Microsoft f-d it all up. So I'm looking for something similar to Inkscape, open source, great community, etc. for basic DIY projects around the house, from designing woodworking projects to landscaping and sprinkler system layout.
FreeCad and LibreCad are FOSS and highly functional.
Not FOSS: Fusion 360 and Sketchup have free versions. ( I'm not a fan of Sketchup, but many people use it for woodworking and landscape design). Fusion has parametric modeling and assemblies with motion.
Inkscape lacks drawing tools and constraints, but I use it for simple 2D laser layouts.
I've been trying to use Inkscape to sketch up at the scale of a house. It works pretty well, just setting a paper size of say 75 * 100 feet, and drawing away.
But there are some challenges. Are there good solutions?
For example with the 4*8 sheet of plywood, place a dimension marker showing each edge's length?
Then ideally scale the font based on the zoom level, so it can be seen at any zoom level?
And ideally, have the dimensions move with the object, but not count as part of the overall size?
I recognize Inkscape is not built for CAD, but with a few solutions for the above, it would work fairly well.
As you're happy with the usual caveat of Inkscape is not a CAD program, and probably not the right tool for the job, here are some hacky workarounds based on never having done anything like this in Inkscape myself:
Any reason for not using a CAD program? There are several free (and Free) ones that would be far more suited to this than Inkscape. I used SweetHome3D when I had to sketch an extension to my house a few years back, and I believe FreeCAD has building design tools.
Dimension lines: https://inkscape.org/forums/beyond/how-to-draw-a-measuring-stick/?c=32034#c32034 . Note that the measurement tool measures between endpoints, which does not include line thickness (exact object size).
Scaling: Using real-world sizes is ok-ish. I also do it. Sometimes I use paper format and 1:10 or 1:100.
Exact object sizes:
I have been advocating the inclusion of a "precise drawing" tool set for at least a decade. I don't think the management or developers understand what that means. It is not CAD and its ability to do FEA and other calculations. It is not parametric modeling like FreeCAD. It is simply the ability to do precise technical drawing in a 2D space. Draw a line 6-1/32 inches long.... create a circular array.... ? Any traditional drafting - technical drawing book would show the process of drawing plan, section, cut, elevation, etc. It would be very easy to add the functionality without requiring workarounds. However, for now, it just ain't being done. The belief seems to be that anyone who uses Inkscape is a web designer. Web designers sketch icons - why be precise?
As for your questions -
1 - Create your text at a small size which does not offend Inkscape. Put it all on the same layer. When it is all prepared, duplicate the layer. Convert object to paths. Scale it up to the size you need. You will find a common scaling size. Use the object > transform toolset to scale by that percentage.
2 - The best results I get come from using snap settings. Also, in the alignment tools there is a button which pushes two overlapping items far enough away from each other to be just outside each other. The problem with the function is that it pushes both items away from each other. It does not isolate a target to move. Go into the alignment set and look down toward the bottom of the window. It is a little square next to a number roller. In 1.1 it actually says remove overlap. Earlier editions are less defined.
3 - The best I could offer is the offset or inset tool under the path command group. Although, that does not allow a double line. Even the stroke and fill > stroke style settings do not allow double lines. I could write a full page of complaints about Inkscape's lack of line design options. They don't even have proportional line weights! .......000, 00....
4 - I am not aware of the scaling expression in Inkscape or other software. The best way to get the function is to export the image with the number of pixels you need. Import that PNG and print out from there. Obviously, use a scale bar on your drawings. Ignore the "do not scale" philosophy. That was developed to deal with paper - an organic substance - which changes in size. Digital does not change. Use the scale bar and a scale statement. Just make sure your 1 inch is truly 1 inch according to your drawing. 8 inches should actually be relevant to a concrete block.....
5 - Never print out of Inkscape. There is no way to turn all layers to unlock and visible. When you group everything to move it to fit into the accepted rectangle where Inkscape requires you to work - all you really do is regroup and destroy your layer stack. You will also forget to activate the scale strokes and other commands. Trying to print out of Inkscape will very easily lead you to destroy your file. Don't do it. Instead, use a backer. This is the same as having borco under your mylar. Create a rectangle, put it on its own layer below your work, lock everything but your backer, select the backer, export. Pull it into another package - Scribus? if it handles the sheet sizes [3x4?] and print from there.
6 - The best way to accomplish a dimension line is to
draw your arrows
put a small perpendicular line as a tick mark along your arrow line - do this for every level in your typical dimension stack
create that design standard and save it on your design standards layer in your file
when it comes time to dim out your drawings - pull your standard dim arrow onto a working layer. Put the arrow heads where you need them. Place your dimensions. Activate the edit paths by nodes tool. Tap on one of your ticks. Hold shift and tap on a tick at the other end of your intended horizontal dimension line. Activate the draw freehand lines pencil tool. You should see the nodes on the ticks become empty. Click your pencil cursor on one of the empty rectangles. Connect the dots. Add new nodes to cut out for your dims.
An improvement of this process might be to locate all of your arrows in the middle of your dimension stack - connect the dots - vertically space everything - activate the nodes for the right side arrow and drag move them to the right corner - repeat on left side - cut holes to not interfere with the dims.
6 - No, Inkscape is not actually a scalable graphic. If you create a drawing with a 0.1 mm line, and then zoom, the width of the line will not remain 0.1 mm on the screen. Proportional measurement is not an element in this software. Everything grows or reduces with the zoom. It is not possible to have one level of graphic like a topo site map which scales and text data on another level which - while anchored to a survey point - stays the same graphic size on the image when zooming into a location. That function has no value to icon designers who sketch [ not draw ] in Inkscape and then export to JPG or PNG. We who actually need SVG for SVG get ignored. Some of us are trying to use SVG because it is SVG - and only Inkscape is SVG - not because we cannot afford Adobe.
[ For parametric modeling - create the 2D SVG and import to Blender for the 3D modeling. There are extensions which can offer CAD functions in Blender. = Ah, freedom from Obliques and Choise Isometrics ! BLISS! ]
Have you guys found a good dimensional drawing tool? I used to use Visio Professional and Technical for a lot of scaled drawing stuff, but Microsoft f-d it all up. So I'm looking for something similar to Inkscape, open source, great community, etc. for basic DIY projects around the house, from designing woodworking projects to landscaping and sprinkler system layout.
FreeCad and LibreCad are FOSS and highly functional.
Not FOSS: Fusion 360 and Sketchup have free versions. ( I'm not a fan of Sketchup, but many people use it for woodworking and landscape design). Fusion has parametric modeling and assemblies with motion.
Inkscape lacks drawing tools and constraints, but I use it for simple 2D laser layouts.