Skip to content

Instantly share code, notes, and snippets.


Block or report user

Report or block jstults

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View mystlfile-openscad-import.stl
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
jstults / solution_30.stl
Created Jan 24, 2019
inverse csg of openlsto example 3d cantilever
View solution_30.stl
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
jstults / ransac.conf
Created Jan 24, 2019
configuration file for InverseCSG RANSAC algorithm
View ransac.conf
target_sample_num: 50000
cluster_epsilon: 0.1
epsilon: 0.1
min_points: 500
normal_threshold: 0.8
probability: 0.5
max_iter: 100
max_diam: 0.1
gc_max_iter: 10
base: 5.0
jstults /
Created Jan 24, 2019
python script to run InverseCSG on an example part from OpenLSTO based on the run_tests script that ships with InverseCSG
import os
import sys
# Usage: python3 <build_dir> <test_name>
# Example:
# python3 ../build openlsto
if len(sys.argv) < 3:
print('Error: please specify the test case name.')
jstults / pure-bending.tpd
Last active Dec 16, 2017
Pure bending ToPy problem definition
View pure-bending.tpd
[ToPy Problem Definition File v2007]
# Author: Josh Stults
# pure bending topology optimization on a 640x720 domain
PROB_TYPE : comp
PROB_NAME : pure-bend
ETA : exp
DOF_PN : 2
VOL_FRAC : 0.3
jstults /
Created Dec 7, 2013
script to process 1-bit pngs that define solid and void regions for ToPy topology optimization problems
# read in black & white pngs and create PASV_ELEM and ACTV_ELEM lists
# for topy input decks
# void.png: black pixels indicate regions that should be void
# solid.png: black pixels indicate regions that should be solid
from PIL import Image
solidim ="solid.png")
voidim ="void.png")
jstults / framev.tpd
Created Dec 7, 2013
ToPy Problem Definition (tpd) for topology optimization of a Prusa Mendel frame vertex Based on this one:
View framev.tpd
[ToPy Problem Definition File v2007]
# Author: Joshua Stults
# a 2d cross-section for a Prusa Mendal RepRap frame vertex
PROB_TYPE : comp
PROB_NAME : framev
ETA : 0.5 # reciprocal approx.
DOF_PN : 2
jstults /
Created Jun 25, 2013
octet truss cubes with two levels of hierarchical organization to improve the speed of the union operation
import scipy as sp
import itertools as it
class rcc_shape():
def __init__(self, name, origin, height, radius): = name
self.origin = origin
self.height = height
self.radius = radius
def mged_string(self):
jstults / ofat.R
Created Feb 2, 2013
why one-factor-at-a-time testing is a bad idea
View ofat.R
# why one-factor-at-a-time testing is a bad idea
# full factorial of 6 factors at 2 levels:
fullfac = gen.factorial(levels=c(2,2,2,2,2,2), center=TRUE)
# D-optimal fraction, 32 runs:
dx.1 = optFederov(~(X1+X2+X3+X4+X5+X6)^2, data=fullfac, nTrials=32, nullify=2, maxIteration=64, nRepeats=200)
jstults / multi_scatter.R
Created Jan 21, 2013
example of small multiple scatter plots and marginal densities in R
View multi_scatter.R
ninputs = 3 # across the columns
noutputs = 2 # down the rows
iin = c(1,2,3) # indices for the inputs
jout = c(4,5) # indices for the ouputs
# example data frame:
npoints = 2**14
data.set = data.frame(X1=rnorm(npoints), X2=rnorm(npoints), X3=rnorm(npoints))
data.set = transform(data.set, X4=X1*X2+0.1*X3**2, X5=2*X2+X1+0.1*X3**2)
# the width/height are set by \showthe\columnwidth \textheight in latex
You can’t perform that action at this time.