介之推 发表于 2012-6-29 20:16:51

如何给一个LineSegment3d赋一个double值?

大家好,我想给LineSegment3d 赋一个double值。但是LineSegment3d的一些属性都是只读的,无法写入。所有我想请教大家有么有什么好的办法?
我想按下面的代码完成这件事:

               List<LineSegment3d> lineLst = new List<LineSegment3d>(); //定义集合
               LineSegment3d myLine = new LineSegment3d(pt1,pt2);
               myLine.SomeProperty = someValue;   //赋值
               lineLst.Add(myLine);

这样能做到吗?谢谢。

雪山飞狐_lzh 发表于 2012-6-29 20:41:25

你要实现什么功能呢。。。?

介之推 发表于 2012-6-29 20:51:06

雪山飞狐_lzh 发表于 2012-6-29 20:41 static/image/common/back.gif
你要实现什么功能呢。。。?

你好,我是用一个LineSegment3d来代表一段墙体,在绘制一个房子的骨架轴线图时用到。但墙体有个厚度值,我需要将这个厚度值也记录下来。

雪山飞狐_lzh 发表于 2012-6-29 22:23:22

你可以用个键值对字典保存你的数据
或者声明一个结构

介之推 发表于 2012-6-30 10:41:53

雪山飞狐_lzh 发表于 2012-6-29 22:23 static/image/common/back.gif
你可以用个键值对字典保存你的数据
或者声明一个结构

你好。
键值对好像有点复杂啊,花销也很大啊。哈哈。
但是LineSegment3d好像是个封闭的类,无法再从其派生一个新类。请问还有什么好方法吗?

chmenf087 发表于 2012-7-1 01:45:57

一般就是放到扩展数据或者扩展字典吧,扩展字典有datatable正好类似键值对,可以试试

雪山飞狐_lzh 发表于 2012-7-1 10:18:38

把我回复的看完,,,
你声明个包含LineSegment3d和double的结构不就行啦

介之推 发表于 2012-7-1 20:47:45

雪山飞狐_lzh 发表于 2012-7-1 10:18 static/image/common/back.gif
把我回复的看完,,,
你声明个包含LineSegment3d和double的结构不就行啦

你好,我就想记录以下这段墙体轴线的一些属性,并不想真正在屏幕上绘制这段墙体。我定义了一个十分简单的类。如下所示。不知道正确与否?    public class Wall
    {
      public double Length { get; set; }
      public double Thickness { get; set; }

      public Point3d startPoint { get; set; }
      public Point3d endPoint { get; set; }
    }

雪山飞狐_lzh 发表于 2012-7-1 23:38:38

这样没问题:)
页: [1]
查看完整版本: 如何给一个LineSegment3d赋一个double值?