This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

【发帖指南】新用户看过来(最后更新时间:2022-01-24)

为了能更快地答复大家的问题,请尽量遵从如下规则发帖:

1、由于本二次开发论坛覆盖多个产品及版本和多种开发语言,所以,希望在帖子前用如下类似前缀表明这些内容:

[MSCE C++]、[MSCE C#]、[MSCE VBA]、[MSV8i C++]、[MSV8i C#]、[MSV8i VBA]、[OBDCE C++]、[ORD C++]、[PSCE C#]、[PW C++]等等。

2、不要将所有内容写入标题中,标题最好言简意赅,问题详细内容写入标题下的描述栏(Description)中。

3、由于论坛不是即时通讯,请在一次交流中尽量将问题描述得清晰一些,这样能在最少的交流来回中解决您的问题。

4、每个帖子最好只提问一个问题,这样有利于跟踪每个帖子是否被解答。

5、附加图形时最好手工设置一下图片的大小,这样不用点开就能看清楚。如下图所示设置(宽和高都设置得大一些没关系的)

6、如果要附加测试用DGN文件,也可以用第5条所示方法就能直接上传。因为它写的是Insert Image/Video/File,也就是说可以上传图片、视频和文件;

7、如果要插入源代码,请使用Insert下的Insert Code功能插入,这样能保持源代码的缩进格式,便于阅读和复制。如下示例为插入的C#代码:

        public static void SetDisplayStyle(string unparsed)
        {
            Viewport vp = Session.GetActiveViewport();
            ViewInformation vi = vp.GetViewInformation();
            DisplayStyleManager.ApplyDisplayStyleToView(m_ds, vi);
            Session.Instance.Keyin("update view extended");
        }

8、如果从本论坛得到了正确的答复,请您在正确答复的帖子下点击Verify Answer确认答案。这将帮助后来者快速找到答案,也有利于我们跟踪问题的解决情况。

一般来说,请不要对自己的回答选择Suggest as Answer(推荐为答案)。这个功能是答贴的人使用的。对于发帖者,如果对某个答案满意,应该在那个答案的下面点选Verify Answer(验证答案)

你会注意到,被Verify的帖子是绿色对勾的,表示有正确答案了。而Suggest的帖子仅仅是橘黄色的对勾,表示还在等待发帖者确认。

9、如果要求提供测试代码,请专门为所提问题编写一个最简代码并将整个项目压缩后上传。注意,一定要剔除项目中的临时文件(如C++项目中的*.VC.db),这样整个压缩后的项目一般来说应该小于50k。测试代码最好不要含有交互操作,最好将非主要变量直接附以具体值。如下为测试ClosestPointBounded函数的一个样例代码。供参考:

public static void GetClosestPoint(string unparsed)
        {
            DgnModel dgnModel = Session.Instance.GetActiveDgnModel();
            Element myElem = dgnModel.FindElementById((ElementId)1259083L);
            CurvePrimitive cp = CurvePathQuery.ElementToCurveVector(myElem).GetPrimitive(0);

            DPoint3d[] spacePoint = {new DPoint3d(4873336313.0,35949337874.0, 294702.0),
                                     new DPoint3d(4873333904.0, 35950189744.0, 213879.0)};
            double   fraction;
            DPoint3d curvePoint;
            for (int i = 0; i < 2; i++)
            {
                cp.ClosestPointBounded(spacePoint[i], out fraction, out curvePoint);
                LineElement line = new LineElement(dgnModel, null, new DSegment3d(spacePoint[i], curvePoint));
                line.AddToModel();
            }
        }

10、请不要在多年前结贴的帖子下继续追问,这样不利于我们管理论坛。如果您在所有现有的帖子中找不到合适的答案,请发一个新贴来提问。

11、注意礼貌用语。

12、有关本社区的详细使用说明,请看中国优先社区使用指南

13、入门学习可以看如下系列教程,还有精选文章精华帖列表

MicroStation Wednesday视频分享 

深入探讨MicroStation DGN基本概念系列

一步步学习MicroStation CE Addin开发

一步步学习MicroStation CE MDL开发