openjscad-aurora-webapp

Форк
0
42 строки · 1.0 Кб
1
// title: Four to three (sides)
2
// author: Eduard Bespalov
3
// license: MIT License
4
// description: testing solidFromSlices()
5

6
function getParameterDefinitions() {
7
  return [
8
	{ name: 'radius', caption: 'Radius:', type: 'float', default: 10 },
9
	{ name: 'height', caption: 'Height:', type: 'float', default: 35 },
10
	{ name: 'twist', caption: 'Twist:', type: 'int', default: 90}
11
  ];
12
}
13

14
function main(params) {
15
	var thing = thingTwisted(params.radius, params.height, params.twist);
16
	return thing;
17
}
18

19
function thingTwisted(radius, height, twistangle) {
20
  twistangle = twistangle || 0;
21

22
	var flatBottom = CSG.Polygon.createFromPoints([
23
			[-radius, -radius, 0],
24
			[radius, -radius, 0],
25
			[radius, radius, 0]
26
		]);
27

28
  var thing = flatBottom.solidFromSlices({
29
	numslices: height
30
	,callback: function(t) {
31
		var coef = 1 - t;
32
		var h = height * t;
33
		return CSG.Polygon.createFromPoints([
34
			[-radius, -radius, h],
35
			[radius, -radius, h],
36
	 		[radius * coef, radius, h],
37
			[-radius * coef, radius, h]
38
		]).rotate([0,0,0], [0,0,1], twistangle * t);
39
	}
40
  });
41
   return thing;
42
}
43

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.