Open sourcing my solid tools


#1

Hi all developers!

After thinking about doing it for several years I’ve finally gotten around to clean up the old and dirty code in my solid tools to a state where I can open source it. This project was actually started not with the intention to be a standalone plugin, but because I needed sensible solid operators for another plugin. I have used it in several plugins since and thought more people might find it useful.

There are several differences from the native solid tools. My version modifies the existing group/component instead of creating a new one. It also honors the existing materials on both group/containers and on individual faces instead of painting individual faces with the container’s material. Both these properties makes it really useful in custom plugins because it behaves much more consistently to SketchUp than the native solid tools.

I’m really happy with the UX; several people have commented in the Extension Warehouse and said it’s easier to use that the native solid tools. However I’m not really an algorithm person so it would be really fun if someone here wanted to optimize and improve stability.

Link: https://github.com/Eneroth3/Eneroth-Solid-Tools


#2

Did you switch on the YARD docs for the source code ?

EDIT: I do not see it listed here:
http://www.rubydoc.info/github/~e


#3

Hi Dan

The project uses Tomdoc which is more readable in plain text in the source. I normally use this in my extensions.


#4

Well,… then does GitHub have an extension for Tomdoc pages ?
And if so, what is the URL for the documentation ?


#5

I don’t know if this RubyDoc.info supports TomDoc. However I’m prioritizing having clearly readable comments in the actual source while working on it than on some third party website. For now the documentation can be read in the source code directly.


#6

YARD should display TomDoc comments quite well. Give it a try. (It’s only a switch in the GitHub repo settings. You can always switch it back off.)

YARD is not so different and quite readable. (What I was doing was trying to get you to perhaps understand that the majority of open source Ruby projects are using YARD. I would be surprised if TomDoc had more than a few percent of the total share.)


#7

What is this setting called? I can’t find it in the repo settings.


#8

Your repo: Settings (tab) > Integrations & services (left nav column)

In the Services section, from the “Add service” drop down list, choose “RubyDoc.info


#9

Okay I see it now:

http://www.rubydoc.info/github/Eneroth3/Eneroth-Solid-Tools/master

But likely nothing is documented (except the default README) because of a lack of a “.yardopts” file.

It should look something like this:

--title "Eneroth Solid Tools"
--no-private
src/**/*.rb

The README file is always documented.
Any other markdown files, you just list in the “.yardopts” file, and they’ll be added to the documentation.


And here is the YARD documentation link about the “.yardopts” file:
http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md#_yardopts_Options_File
(Basically this file contains parameters that are passed into the yardoc generator program.)

Check out some of thomthom’s repos. Here is a good example:
https://github.com/thomthom/SKUI, which generates this documentation:
http://www.rubydoc.info/github/thomthom/SKUI


#10

Thanks!

As you may have noticed I’m new to using rybydoc.info. Now the docs are generated from the source files but the parser fails on some occasions. It treats comments not related to any specific methods as the method documentation and treats argument descriptions as code. Adding “–plugin tomdoc” to the .yardopts file doesn’t seem o make any difference whatsoever.


#11

yardoc_help.txt (6.3 KB)

I think the appropriate option would be:

--markup tomdoc

(This tells YARD that the docstrings in the code is using tomdoc markup.)

May also need:

--markup-provider yard-tomdoc

(This is the name of a rubygem used by YARD to process tomdoc comments.)
https://rubygems.org/gems/yard-tomdoc


#12

This topic was automatically closed after 91 days. New replies are no longer allowed.


#13

#14

Version 3.0.0 was released yesterday. Subtracting and trimming multiple solids at once is now possible. There are also some bug fixes related to volumes with interior holes in faces and coplanar faces being wrongly merged.

And by the way, yard is now used for documentations!

http://www.rubydoc.info/github/Eneroth3/eneroth-solid-tools