How to use the makerjs.kit function in makerjs

To help you get started, weā€™ve selected a few makerjs examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github microsoft / maker.js / packages / maker.js / examples / Rimbox.js View on Github external
function Rimbox(width, height, holeRadius, rimThickness, hollow) {
        if (arguments.length == 0) {
            var defaultValues = makerjs.kit.getParameterValues(Rimbox);
            width = defaultValues.shift();
            height = defaultValues.shift();
            holeRadius = defaultValues.shift();
            rimThickness = defaultValues.shift();
        }
        var mm = makerjs.models;
        var cornerRadius = holeRadius + rimThickness;
        var c2 = cornerRadius * 2;
        this.models = {
            bolts: new mm.BoltRectangle(width, height, holeRadius),
            outer: new mm.RoundRectangle(width + c2, height + c2, cornerRadius)
        };
        if (hollow) {
            this.models['inner'] = new RimboxInner(width, height, holeRadius, rimThickness);
        }
        this.models['outer'].origin = [-cornerRadius, -cornerRadius];
github microsoft / maker.js / packages / maker.js / examples / polygonstackbox.js View on Github external
function PolygonStackBox(sides, radius, holeRadius, rimThickness) {
        if (arguments.length == 0) {
            var defaultValues = makerjs.kit.getParameterValues(PolygonStackBox);
            sides = defaultValues.shift();
            radius = defaultValues.shift();
            holeRadius = defaultValues.shift();
            rimThickness = defaultValues.shift();
        }
        var mm = makerjs.models;
        this.models = {
            bolts: new mm.BoltCircle(radius, holeRadius, sides),
            inner: { models: {} },
            outer: { models: {} }
        };
        var angle = 180 / sides;
        var a2 = angle * 2;
        for (var i = 0; i < sides; i++) {
            var inside = makerjs.model.rotate(new PolygonStackBoxInside(angle, radius, holeRadius, rimThickness), a2 * i, [0, 0]);
            var outside = makerjs.model.rotate(new PolygonStackBoxOutside(angle, radius, holeRadius, rimThickness), a2 * i, [0, 0]);
github microsoft / maker.js / docs / demos / demoify.js View on Github external
if (key === 'Text') {
        parameters = [
            opentypeLib.loadSync('../fonts/stardosstencil/StardosStencil-Regular.ttf'),
            'A'
        ];
    }
    else {
        if (kit.ctor.metaParameters) {
            kit.ctor.metaParameters.forEach(function (metaParameter, i) {
                if (metaParameter.type === 'font') {
                    parameters[i] = opentypeLib.loadSync('../fonts/allertastencil/AllertaStencil-Regular.ttf');
                }
            });
        }
    }
    var model = makerjs.kit.construct(kit.ctor, parameters);
    var measurement = makerjs.measure.modelExtents(model);
    var scaleX = measurement.high[0] - measurement.low[0];
    var scaleY = measurement.high[1] - measurement.low[1];
    var scale = Math.max(scaleX, scaleY);
    makerjs.model.scale(model, 100 / scale);
    var svg = makerjs.exporter.toSVG(model);
    var div = new makerjs.exporter.XmlTag('div', { "class": 'thumb' });
    div.innerText = svg;
    div.innerTextEscaped = true;
    return anchor(div.toString(), baseUrl + 'playground/?script=' + key, key, true, 'thumb-link');
}
function jekyll(layout, title) {
github microsoft / maker.js / packages / maker.js / examples / starbox.js View on Github external
function starbox(width, height, holeRadius, rimThickness, angle) {
        if (arguments.length == 0) {
            var defaultValues = makerjs.kit.getParameterValues(starbox);
            width = defaultValues.shift();
            height = defaultValues.shift();
            holeRadius = defaultValues.shift();
            rimThickness = defaultValues.shift();
        }
        var mm = makerjs.models;
        var cornerRadius = holeRadius + rimThickness;
        var c2 = cornerRadius * 2;
        this.models = {
            bolts: new mm.BoltRectangle(width, height, holeRadius),
            outer: new mm.RoundRectangle(width + c2, height + c2, cornerRadius),
            inner: new starboxInner(width, height, holeRadius, rimThickness)
        };
        this.models['outer'].origin = [-cornerRadius, -cornerRadius];

        var star = new makerjs.models.Star(6, height / 2 + 4 * (rimThickness + holeRadius), height / 5);
github microsoft / maker.js / demos / js / makerjs-polygon-rimbox.js View on Github external
function PolygonRimbox(sides, radius, holeRadius, rimThickness, solid) {
        if (arguments.length == 0) {
            var defaultValues = makerjs.kit.getParameterValues(PolygonRimbox);
            sides = defaultValues.shift();
            radius = defaultValues.shift();
            holeRadius = defaultValues.shift();
            rimThickness = defaultValues.shift();
        }
        var mm = makerjs.models;
        this.models = {
            bolts: new mm.BoltCircle(radius, holeRadius, sides),
            inner: { models: {} },
            outer: { models: {} }
        };
        var angle = 180 / sides;
        var a2 = angle * 2;
        for (var i = 0; i < sides; i++) {
            var inside = makerjs.model.rotate(new PolygonRimboxInside(angle, radius, holeRadius, rimThickness), a2 * i, [0, 0]);
            var outside = makerjs.model.rotate(new PolygonRimboxOutside(angle, radius, holeRadius, rimThickness), a2 * i, [0, 0]);
github microsoft / maker.js / demos / card.js View on Github external
function card(w, h, outerRadius, rim, boltRadius, conn, logoOutline, logoScale, logoY, logoAngle, textScale, textY, tabMargin, tabHeight, tabR ) {

	if (arguments.length == 0) {    
		var defaultValues = makerjs.kit.getParameterValues(card);
		function v() { 
			return defaultValues.shift();
		}
		w = v();
		h = v();
		outerRadius = v();
		rim = v();
		boltRadius = v();
		conn = v();
		logoOutline = v();
		logoScale = v();
		logoY = v();
		logoAngle = v();
		textScale = v();
		textY = v();
		tabMargin = v();
github microsoft / maker.js / demos / js / makerjs-rimbox.js View on Github external
function Rimbox(width, height, holeRadius, rimThickness, solid) {
        if (arguments.length == 0) {
            var defaultValues = makerjs.kit.getParameterValues(Rimbox);
            width = defaultValues.shift();
            height = defaultValues.shift();
            holeRadius = defaultValues.shift();
            rimThickness = defaultValues.shift();
        }
        var mm = makerjs.models;
        var cornerRadius = holeRadius + rimThickness;
        var c2 = cornerRadius * 2;
        this.models = {
            bolts: new mm.BoltRectangle(width, height, holeRadius),
            outer: new mm.RoundRectangle(width + c2, height + c2, cornerRadius)
        };
        if (!solid) {
            this.models['inner'] = new RimboxInner(width, height, holeRadius, rimThickness);
        }
        this.models['outer'].origin = [-cornerRadius, -cornerRadius];
github microsoft / maker.js / docs / demos / demoify.js View on Github external
function thumbnail(key, kit, baseUrl) {
    var parameters = kit.params || makerjs.kit.getParameterValues(kit.ctor);
    if (key === 'Text') {
        parameters = [
            opentypeLib.loadSync('../fonts/stardosstencil/StardosStencil-Regular.ttf'),
            'A'
        ];
    }
    else {
        if (kit.ctor.metaParameters) {
            kit.ctor.metaParameters.forEach(function (metaParameter, i) {
                if (metaParameter.type === 'font') {
                    parameters[i] = opentypeLib.loadSync('../fonts/allertastencil/AllertaStencil-Regular.ttf');
                }
            });
        }
    }
    var model = makerjs.kit.construct(kit.ctor, parameters);

makerjs

Maker.js, a Microsoft Garage project, is a JavaScript library for creating and sharing modular line drawings for CNC and laser cutters.

Apache-2.0
Latest version published 6 months ago

Package Health Score

74 / 100
Full package analysis