Hello all,

Can anyone pls help me to complete parametric dome (struck with the above step) and I was planning to assign triangle pattern.

Thanks in advance.

Hello all,

Can anyone pls help me to complete parametric dome (struck with the above step) and I was planning to assign triangle pattern.

Thanks in advance.

@Manoj sice you’ve used the term ‘parametric’

```
//Parametric Hemisphere
r = 10;
b = 30;
c = 20;
u = 0..360..#b;
v = 0..r..#c;
x = Math.Sqrt(Math.Pow(r,2)<1>-Math.Pow(v<2>,2)<2>)*Math.Cos(u)<1>;
y = Math.Sqrt(Math.Pow(r,2)<1>-Math.Pow(v<2>,2)<2>)*Math.Sin(u)<1>;
z = v;
p = List.FirstItem(Autodesk.Point.ByCoordinates(x<1><2>,y<1><2>,z)<1>);
//Cross Bracing
dr = List.DiagonalRight(p,c);
pr = PolyCurve.ByPoints(List.FilterByBoolMask(dr,List.Count(dr<1>)>1)["in"],false);
dl = List.DiagonalLeft(p,c);
pl = PolyCurve.ByPoints(List.FilterByBoolMask(dl,List.Count(dl<1>)>1)["in"],false);
dh = List.UniqueItems(List.Transpose(p)<1>);
ph = PolyCurve.ByPoints(List.FilterByBoolMask(dh,List.Count(dh<1>)>1)["in"],false);
```

4 Likes

@Vikram_Subbaiah

Hallo,

i copy paste your code into a codeblock, but it didn’t work.

I think the functions don’t have a connection to the core…but im not sure

Error:Warning: Internal error, please report: Dereferencing a non-pointer.

Any idea whats wrong?

Try replacing **List** with **DSCore.List**

1 Like

@Fiesta There seems to be a conflict with some package you’ve got installed

Try this …

```
//Parametric Hemisphere
r = 10;
b = 30;
c = 20;
u = 0..360..#b;
v = 0..r..#c;
x = Math.Sqrt(Math.Pow(r,2)<1>-Math.Pow(v<2>,2)<2>)*Math.Cos(u)<1>;
y = Math.Sqrt(Math.Pow(r,2)<1>-Math.Pow(v<2>,2)<2>)*Math.Sin(u)<1>;
z = v;
p = DSCore.List.FirstItem(Autodesk.Point.ByCoordinates(x<1><2>,y<1><2>,z)<1>);
//Cross Bracing
dr = DSCore.List.DiagonalRight(p,c);
pr = PolyCurve.ByPoints(DSCore.List.FilterByBoolMask(dr,DSCore.List.Count(dr<1>)>1)["in"],false);
dl = DSCore.List.DiagonalLeft(p,c);
pl = PolyCurve.ByPoints(DSCore.List.FilterByBoolMask(dl,DSCore.List.Count(dl<1>)>1)["in"],false);
dh = DSCore.List.UniqueItems(DSCore.List.Transpose(p)<1>);
ph = PolyCurve.ByPoints(DSCore.List.FilterByBoolMask(dh,DSCore.List.Count(dh<1>)>1)["in"],false);
```

1 Like

Thx Vikram, this solved the problem!

1 Like