问题标签 [microstation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1434 浏览

vba - 在 MicroStation VBA 中设置 LineStyleParameters

我最初打算在 Bentley 编程论坛上问这个问题,因为他们对我用来建模我的 C# 问题有类似的答案。但是,我为论坛创建的帐户似乎无法正常工作。

代码的目的是设置线型、颜色、线宽,最后是线型参数下的两个设置,称为比例和角模式。

作为背景,我对 C# 比 VBA 更熟悉,这可能会导致我错过一些东西,但我感觉的解决方案类似于上面链接中突出显示的 C# 方法(我非常偶然地发现):

正是这一行oLineElement.SetLineStyleParameters (oParams)给了我错误 438:“对象不支持此方法或属性”。但是,当将此与上面提到的 C# 方法(引用如下)进行比较时,我没有注意到一个主要区别。

有谁知道我在这里做错了什么,或者如何解决这个问题?

谢谢

0 投票
2 回答
7698 浏览

microstation - 将元素从一个 dgn 复制到另一个 dgn

微站中是否有一个等效的命令,用于带有来自 autocad 的基点的复制夹将元素从一个 dgn 复制到另一个 dgn?

我尝试附加引用并以这种方式复制它,但是我无法分离该引用。

我收到一条关于无法从托管模型中分离模型的错误消息。

0 投票
2 回答
1892 浏览

vba - 在vba中查找和替换多个值

我正在尝试使用 VBA 在 Microstation 中执行此任务。我想用它来查找和替换图形中的多个数字。

我一般都知道这个程序,但是我很难把它放在一起。我有 2 个变量。

提前感谢您,并对编写错误的代码表示歉意。刚习惯VBA!

0 投票
1 回答
68 浏览

vba - 类型不匹配可能是由于数组被错误解释

我从这段代码中得到了类型不匹配,如果有人能提供帮助,将不胜感激。它可能与我使用 split 命令的位置有关..我试图基本上抓住 A2 和 B2 然后是 A3 和 B3 等等......把它放在另一个程序中(Microstation)

0 投票
1 回答
496 浏览

vba - 如何要求用户捕捉 Microstation VBA 的线元素的顶点(在 ILocateCommandEvents_Accept 处理程序中)

我知道如何在 Microstation 中编写一个 VBA 宏,它会要求用户选择一个元素:

clsSelectBanksLCE用于ILocateCommandEvents管理这部分逻辑。所以用户可以选择一个LineElement例子,当Accept事件被触发时,它会运行一个动作:

在我的特殊情况下,我们跟踪选择元素 1,然后选择元素 2,一旦选择了两个元素,它就会继续。这一切都很好。

我的问题是:在我接受第一个元素之后,在继续选择下一个元素之前(即:在Accept处理程序中),我想让用户捕捉到线元素的两个顶点。

我需要知道他们想要处理线元素的哪一部分。我不知道该怎么做。在 AutoCAD 中,您可以使用GetPoint.

所以我想让他们捕捉到这个线元素的第一个顶点,然后捕捉到结束顶点。在此之后,我们可以继续选择第二个元素。

更新

我刚刚偶然发现了这篇文章。我注意到它说:

一旦用户接受了一个元素,我们应该启动另一个实现IPrimitiveCommandEvents的类来获取目标数据点。最后,计算从提供的定位数据点到目标数据点的偏移量并移动元素。

这似乎是我想要的,但我只是不清楚正确的顺序。目前我有:

ILocateCommandEvents_Start这开始了定位过程。

ILocateCommandEvents_LocateFilter. 如果元素是 a LineElement,那么它分配m_Element1并且第二个事件触发分配m_Element2

ILocateCommandEvents_Accept如果两个变量都不是nothing,它运行主进程。

看到我的困境了吗?听起来我需要:

  • 运行一个实例ILocateCommandEvents以仅选择一个元素。
  • 然后运行一个实例IPrimitiveCommandEvents以获取第一个捕捉点。
  • 然后运行另一个实例IPrimitiveCommandEvents以获得第二个捕捉点。
  • 然后运行另一个实例ILocateCommandEvents来获取第二个元素。
  • 最后,一旦第二个元素被接受,执行我的处理。

这就是我理解我需要这样做的方式。或者,我可以使用我ILocateCommandEvents目前让用户选择两个元素的类吗?

指导表示赞赏。

更新

我按照上面的逻辑让它工作。那篇文章真的很有帮助。我现在唯一的问题是我需要画一条橡皮筋。但这是一个单独的问题。

0 投票
1 回答
13626 浏览

vba - VBA 问题 - 未找到此组件的许可证信息 - 如何识别哪个组件?

我有一个在 10 台 PC 上运行良好的 VBA 文件。VBA 托管在名为 MicroStation / PowerDraft 的绘图包中。在另外两台计算机上正常设置文件时,我遇到了一个错误,上面写着

未找到此组件的许可信息。您没有在设计环境中使用此功能的适当许可

在检查 VBA 项目时,我找不到任何关于哪个文件导致问题的参考以及如何解决它?我在这里和通过 Google 找到了一些文章,这些文章都指向 Microsoft 支持页面,该页面现在是一个死链接。任何人都可以帮忙吗?所有 PC 都是相同的,Windows 10 64 位、相同版本的 MicroStation、相同的软件和所有最新的 Windows 更新。被引用的文件如下。它们都已定位并注册。

再加上一些我无法归档的文件名。

Microsoft Forms 2.0 对象库 Adob​​e Acrobat 浏览器控件类型库 1.0 Microsoft Office 16.0 Access 数据库引擎对象库 任何帮助将不胜感激!

0 投票
1 回答
642 浏览

javascript - JavaScript 中的 2D/3D CAD 设计

我在 microstation 中进行 2D 设计,我想使用任何工具(javascript/Unity 3D 或任何其他工具)在 Web 中表示此设计,其中 Web 工具将不具有所有功能,但应该具有基本功能,例如重塑或添加新形状可用的。

到目前为止,我的方法是,一旦我在 microstation 中创建了设计,然后我正在捕获形状的属性,例如线的坐标,现在使用我想在浏览器中表示的这些坐标,因为这是一个 2D 设计,所以它将被绘制在某个位置(x,y) 例如,我在 microstation 中创建了一条从 (2,2) 到 (10,10) 的线,因此它将是一条直线,并且我拥有我尝试在 Unity 中重新绘制它的所有坐标,这可以做到但我面临通过鼠标单击将长度从 (2,2) 更改为 (20,20) 的问题。我的目标是在运行时而不是在 Unity 编辑器工具中进行。

这是我想为所有几何形状做直线的例子,任何指导都将不胜感激。

到目前为止,我正在尝试 Unity 这样做,但在编辑部分苦苦挣扎,有没有办法统一实现这一目标?

我还查看了各种 javascript 库,如 konvaJS、makerJS、ThreeJS 等,但除了 konvajs 之外,其他库都没有提供整形等功能,在 Konva 中也使用鼠标创建形状,但没有找到任何解决方案。

我们可以通过两种方法中的任何一种来实现这一点吗?当然,我不是在寻找所有功能,只是少数自定义功能,如果是的话,哪种方法最好,我应该继续使用哪种工具。任何指导都会有所帮助。

0 投票
1 回答
64 浏览

vba - 是否可以从 MDL 文件中提取源代码?

我需要从 microstation MDL 文件中提取源代码(可能用 VB 编写)。是否可以?

谢谢,

0 投票
0 回答
21 浏览

microstation - 如何签署在 MicroStation Connect 中生成的 .ma 文件

我需要签署从 MicroStation 连接生成的 .ma 文件。根据链接,我们可以使用 rsign.exe 对 .ma 文件进行签名,但我在任何地方都没有找到 rsign.exe。有人请建议我在哪里可以找到 rsign.exe 来签署 .ma 文件。

0 投票
0 回答
73 浏览

vba - 在水平面上放置单元到点 - Microstation VBA

第一次在 vba 中编码,我遇到了一个脚本,该脚本旨在通过绘图过滤特定级别的并在每个实例中放置一个特定的单元格。到目前为止,我有一个输入框,它请求关卡名称和两个分别扫描点和关卡的数组。然后我将这些数组相交,希望这会产生正确的点集。

我的问题是:如何提取点​​坐标以便我可以clsCellPlacer为数组中的每个项目实现一个或类似的东西?