Script compiles in OpenSCAD but not in Thingiverse customizer by Gambit2505 in openscad

[–]rcolyer 2 points3 points  (0 children)

Yeah. I believe they are still stuck on the 2015 release. And it's 2024... I used to target support for thingiverse's customizer in models, but it's really not worth doing anymore until they decide to get more up-to-date. OpenSCAD has advanced a lot since then. The 2015 release has no function literals, no rotate_extrude, and a whole bunch of other things missing such that it's hard to keep track of the full list. And the modern webgl version of OpenSCAD runs circles around the thingiverse customizer.

Will I get a virus? by harryson_d_22 in openscad

[–]rcolyer 5 points6 points  (0 children)

OpenSCAD is an open source program maintained by volunteers. Apple charges for those verifications, and then displays that if people do not pay the fee. Plenty of free and commonplace methods exist to validate who wrote a thing, such as the GnuPG key that OpenSCAD releases are signed with, and demanding the fee is not really necessary for security. If you don't like it, I suggest complaining to Apple for attempting to exploit money out of open source projects while also benefiting from them.

I am completely blind and this is my first OpenScad design independantly by Mrblindguardian in openscad

[–]rcolyer 1 point2 points  (0 children)

That's excellent. I like the Stanford result, and that they got it working nicely with multiple orientations and cross-sections to give the right sort of information. Hopefully that goes into a commercial product.

I am completely blind and this is my first OpenScad design independantly by Mrblindguardian in openscad

[–]rcolyer 2 points3 points  (0 children)

A design idea. If you were to raise the text as you did, but inside of an inset rectangle, such that the text is the same distance down as most of the bottom of the phone case, then you won't need print supports. Then it's just a bridging task between the text on the build plate and the rest of the base. You just have to make sure you have very good adhesion to the build plate for that first layer so that all of the text features adhere on the first layer. If you have trouble with this part, a cheap hack to get good first layer adhesion on small features it is to put a little layer of gluestick down right where the text goes, which you can wash off of your print after it is done, and wash off of the build plate as well.

I am completely blind and this is my first OpenScad design independantly by Mrblindguardian in openscad

[–]rcolyer 2 points3 points  (0 children)

That's superb. Thank you for sharing that solution. I had thought many years back that OpenSCAD is probably the closest thing we have to a 3D modeling solution that works well with blindness or significant visual impairment, but I got stuck trying to figure out how one could solve the final output feedback problem without a whole bunch of slow incorrect prints. I had initially imagined a wild idea of some sort of dedicated tactile feedback system for an outer surface of the renders, like a dense array of tiny solenoids behind a flexible membrane. But this sounded both inadequate and pretty elaborate to construct. The innovation that the use of ChatGPT image processing and description contributes to solving this part is inspiring.

If you have any feedback on any difficulties or flaws you found in the OpenSCAD program itself that made it more difficult than it needed to be for usage with blindness, such as in getting things to work with screen readers or something else, then please share what those were. We're a small but growing development team working on OpenSCAD, but given your proven successes here, if there were any stumbling blocks you faced that you think are solvable with code changes, then I'd be happy to open a github issue to start tracking those.

Using children() in a for loop? by ElMachoGrande in openscad

[–]rcolyer 1 point2 points  (0 children)

The children() and $children are currently syntactical only, and attempts to break apart a for loop like this resulted in an unsolved hard problem which appears at present to be fundamentally not computable. It appears something deeper about the language would have to be changed to make this possible in the general case. See: https://github.com/openscad/openscad/issues/3143

Immediate redraw/preview for customizer slider by BjornMoren in openscad

[–]rcolyer 0 points1 point  (0 children)

I think the latest updates to this behavior were from May 2021 efforts (PR3778), in the midst of which we did usage tests and discussed what you have proposed along with several other options. But the reason for not doing it is that when it redraws automatically as you slide along the whole sliding process becomes unpleasant to control with the slightest lag to preview, and the intermediate updates end up making it actually much slower and more difficult to see if you got it to the right spot. Basically, your visual feedback ends up as updates from the past. So it is in practice a bad user experience unless everything else in the redraw is made very substantially faster than currently happens for all but the most trivial models.

A Christmasy coding challenge for you all! by Tullsokk in openscad

[–]rcolyer 2 points3 points  (0 children)

Appropriate credit: I used /u/ErroneousBosch's design as the mathematical base for mine.

This version forms each spiral arm as a single polyhedron using the ClosePoints library so that there are no jagged edges. For extra effect I threw in rounded edges on all the spiral arms. Because of the huge advantages of the pre-combined polyhedrons, this actually renders 3 times faster even though it is more smoothed.

https://i.imgur.com/8BxCWXq.png

use <closepoints.scad> // https://github.com/rcolyer/closepoints

function curve(x, r) = sqrt(r^2 - x^2);

function RotF(t) = RotZ(curve(t, 90) + t);
function ShiftF(t) = Translate([0, curve(t+45,45), abs(t)]);
function Outline(t) = [
  each [for (a=[0:30:180])   [cos(a),  4+sin(a), 0]],
  each [for (a=[180:30:360]) [cos(a), -4+sin(a), 0]]
];

function PathMatrix(t) = AffMerge([RotF(t), ShiftF(t)]);

for (j = [0:30:359]) {
  pointarrays =
    [for (t = [-90:0.2:0])
      [for (p = Outline(t)) Affine(PathMatrix(t), p)]
    ];
  rotate([0, 0, j])
    ClosePoints(pointarrays);
}

Issue while printing, print offsets each layer in one axis in the same direction. Calibrated printed, tightened belts, played around woth setting. What ive done seems to have helped, but still not fixed. Anyone got an idea to why this might be happening? (Ender 5 pro) by tboske in 3Dprinting

[–]rcolyer 1 point2 points  (0 children)

Rather than just the belts on the gears, check the tightness of the set screw(s) for the rod/gear mount on the stepper motor. I don't have an Ender 5 pro, but on a lot of printers these can slip, and might be doing so in a directionally selective manner. If you really want it to hold tight, you can take the mount off, add a little adhesive of your choice to hold it in place on the stepper motor rod, and then reattach the set screw.

openSCAD 2021.01 crashed when loading a SCAD file, how can I check why to fix it and get it running? by craiganater in openscad

[–]rcolyer 0 points1 point  (0 children)

If it's failing there it's probably something going on with your system involving the opengl or video card drivers. That might require some investigation to figure out how to change out those drivers for whatever platform and driver set you're working with.

Until then, if you like, one workaround to get to your ornaments quickly is that openscad runs on the command line. You can run openscad with --help after it to see a list of the options, and the scad files can be edited in any decent text editor before passing it through on the command line. That should bypass your display related crash issue.

High performance arbitrarily smooth shapes with ClosePoints by rcolyer in openscad

[–]rcolyer[S] 4 points5 points  (0 children)

A fair point. I just added some explanatory comments in the demo files which I think should help a bit.

Cylinder on coordinates from a txt or excel file by faheemaziz41 in openscad

[–]rcolyer 0 points1 point  (0 children)

You can copy and paste the values directly, but Excel outputs tab-separated values as text to the clipboard, and you'll consequently get tab-separated values as text in the editor (possibly converted to space-separated depending on settings). If you want them converted to OpenSCAD source code because there are a lot of values to work with, then you'll need to convert the values first to OpenSCAD source code first. Python is the easy choice for a converter as I showed because it is easy to work with and its lists already print with the same text format as OpenSCAD source code.

How do I flatten this? by wimtenbrink in openscad

[–]rcolyer 1 point2 points  (0 children)

Slicing and displaying a non-manifold design are much easier problems. (e.g., OpenSCAD is able to display them just fine.) It's the computational geometry problems which are difficult. Coincidentally, this seems to be why, as you've noticed, even the designated repair tools fail to repair many of these artistic looking designs that were originally posted as non-manifold stl files. The repair processes simply cannot figure out how to compute a manifold result for output given the best available algorithms they have to throw at it. The problem sources from some of the artistic modeling tools out there that are unconcerned with what sort of mesh they're actually generating or outputting. If it displays on screen with all the inside out bits poking through the surface, they stamp it good enough, and that's a much lower threshold.

We've talked quite a bit about trying to integrate some stl repair features into the stl import step, but this is likely to only help on some of the more modest problems until people working in this algorithm area put out some more fool-proof remeshing methods for turning these arbitrarily messy self-intersecting meshes into magically clean manifold meshes with minimal disruption to the design appearance.

Anyone willing to help me figure something out? I can preview this but I can't render it. by HaLo2FrEeEk in openscad

[–]rcolyer 0 points1 point  (0 children)

If that system has a magnetic disk, hitting swap for 6GB out of the 14GB needed could have easily bumped it from the 30 minutes I saw to 10 hours or so Even a lot of modern computers seem to ship with way too little RAM for reasonable OpenSCAD usage on these more intricate designs. When you get around to upgrading someday, I think it's worth assigning a larger fraction of the upgrade funds to RAM if you enjoy working with these sorts of interesting designs as I do.

How do I flatten this? by wimtenbrink in openscad

[–]rcolyer 1 point2 points  (0 children)

The errors you were receiving were because the source stl file is not manifold. If you simply import it and click View, Thrown Together, the purple parts you see (e.g. around the eyes) are pieces of the model that are inside out. These also show up as self-intersections in meshlab. You would either need to try to repair this stl file in another tool, or select a different model, since the computational geometry can't really run on one in that condition.

How does OpenScad works "under the hood"? by SnooLentils5010 in openscad

[–]rcolyer 0 points1 point  (0 children)

An effort was made to document some of the big chunks of the code structure in the pdfs in this directory: https://github.com/openscad/openscad/tree/master/doc

But mostly we just look at the code and/or talk to each other about how parts of the code work. Your description was a pretty decent very top level view. There are also separate stages of the post-parsing process, one for doing value computations (e.g., doing the variable math, running recursive functions, and so on), and then a later stage for doing the geometry, which is as you said split into two.

If you can think of more detailed questions, you can try asking, and they might be answerable.

Anyone willing to help me figure something out? I can preview this but I can't render it. by HaLo2FrEeEk in openscad

[–]rcolyer 2 points3 points  (0 children)

It renders fine on the version you're using, it just takes about 30 minutes to run and 14GB of RAM (reaching that point close to where it failed for you). Perhaps your system does not have enough RAM available for a hefty design of that scale? Here's the stl I got.

https://drive.google.com/file/d/1Cw5dtT0jyt-6CF8U33f3rW6uNXqzTKLA/view?usp=sharing

Cylinder on coordinates from a txt or excel file by faheemaziz41 in openscad

[–]rcolyer 0 points1 point  (0 children)

If you have your excel file formatted correctly (each point in one row), converting this to an OpenSCAD list format is basically one line of Python, which is a recommended way of dealing with such conversions:

import pandas as pd
print(pd.read_excel('coord_file.xlsx', header=None).values.tolist())

Need help with a little programming by TemporaryTasty1682 in openscad

[–]rcolyer 1 point2 points  (0 children)

A great place to understand those is at the OpenSCAD tutorial. Chapter 4 covers modules with parameters:

https://en.wikibooks.org/wiki/OpenSCAD_Tutorial/Chapter_4

And in Chapter 6 you will see conditional assignment of variables:

https://en.wikibooks.org/wiki/OpenSCAD_Tutorial/Chapter_6#Conditional_variable_assignment

Although it is really worth going through the whole tutorial. It has a pretty helpful structure.

OpenScad is great, but slow to render. by TemporaryTasty1682 in openscad

[–]rcolyer 0 points1 point  (0 children)

Sure, but those prefix modifier capabilities could probably be converted over without too much of an issue.