找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: stoneball

[求助]:CreateLineElement1后如何修改线型比例“属性”

[复制链接]
发表于 2004-4-27 13:00:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
你那里有mdl 的帮助吧?
每个mdl 函数的帮助后面,都有用vba调用时的声明,就是在vb中调用dll 的办法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2004-4-27 13:10:15 | 显示全部楼层
我下载的mdl帮助没有那些东西,谢谢你能将你的帮助发给我吗?
stoneball@163.com
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-27 14:21:34 | 显示全部楼层
有好几兆,163的邮箱好像不支持这么大的附件吧。
可以去bentley下。好像这里的几个ftp上也有,你找找以前的帖子?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-27 15:00:52 | 显示全部楼层
MDL的功能是在是比VBA强得多。幸亏我从来就没有重视过VBA,一直致力于MDL。
在MDL中有两个API : mdlElement_getLineStyle  / mdlElement_setLineStyle
其中涉及一个结构 StyleParam,它其中就有你想要的scale!

以下是VBA中调用这两个API的说明:
Declare Function mdlElement_setLineStyle Lib "stdmdlbltin.dll" ( ByVal pElement As Long , ByVal modelRef As Long , ByVal lsIndex As Long , ByVal styleNameP As String , ByVal paramsP As Long ) As Long
Declare Function mdlElement_getLineStyle Lib "stdmdlbltin.dll" ( ByVal styleNameP As String , ByVal paramsP As Long , ByVal elementP As Long , ByVal modelRef As Long , ByVal lsIndex As Long ) As Long
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-28 12:39:35 | 显示全部楼层
我个人觉得v8提供的vba也就是做个样子,给个概念而已,实用价值不大。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-28 17:19:19 | 显示全部楼层
恐怕不能这么说吧!只是VBA是新生事物,必然有其不足之处。再者其定位就是做一些简单的用户定制工作,不适合用来设计大的商用程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-29 09:28:44 | 显示全部楼层
对microstation来说,vba也许算是新事物。可实际上,微软都快要不提供对vb6的支持了。
本来对vba还抱有很大的希望的,希望能大幅的提高ms二次开发的生产率,可是实际一用,却
大失所望。
microstaion在做图上来说,也许真的很好。可是在它上面做开发应用,唉……

一些牢骚,发泄一下。继续用mdl 写我的程序了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2004-4-29 14:03:20 | 显示全部楼层
谢谢各位MS的前辈
我刚刚接触MS一直用ACAD的ARX,有个项目需要转换所以用VBA上手快些
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-29 14:05:25 | 显示全部楼层
建议使用MDL,功能比VBA强大多了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2004-4-29 14:21:18 | 显示全部楼层
Dim oLineElement As LineElement
    Dim oLineStyle As LineStyle

    Set oLineElement = CreateLineElement1(Nothing, ptArr)
    Set oLineElement.Level = currentdgnDesignFile.Levels.FindByCode(1)
    oLineElement.Color = 1
    oLineElement.LineWeight = 0

    Set oLineStyle = currentdgnDesignFile.LineStyles.Find("MyLine")
    Set oLineElement.LineStyle = oLineStyle
???现在要设置比例,那位先将我的问题解决,用mdlElement_setLineStyle怎么设置比例???
    mdlElement_setLineStyle(oLineElement, MASTERFILE, Null, sLinetype, 5)
    '添加到新建的文件中
    currentdgnDesignFile.DefaultModelReference.AddElement oLineElement
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-29 15:40:27 | 显示全部楼层
我试了一下,没折腾出来
你看看\Program Files\Bentley\Workspace\System\vba\examples\中的vba例子吧,MdlExamples.mvba是用mdl 函数的例子,希望能对你有些帮助
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2004-4-29 16:38:51 | 显示全部楼层
我KAO我竟然没有MdlExamples.mvba
发给我一份吧。谢谢啦
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-29 16:45:02 | 显示全部楼层
发到你的邮箱了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-29 17:10:20 | 显示全部楼层
我是如下编写的,感觉很对,就是不出结果。我已将该程序发到Bentley的英文讨论组,估计明天会有结果,请耐心等待。

Declare Function mdlElement_setLineStyle Lib "stdmdlbltin.dll" _
(ByVal pElement As Long, ByVal modelRef As Long, ByVal lsIndex As Long, _
ByVal styleNameP As String, ByVal paramsP As Long) As Long

Declare Function mdlElement_getLineStyle Lib "stdmdlbltin.dll" _
(ByVal styleNameP As String, ByVal paramsP As Long, ByVal elementP As Long, _
ByVal modelRef As Long, ByVal lsIndex As Long) As Long

Type StyleParam
   modifiers As Long
   reserved As Long
   lscale As Double
   dashScale As Double
   gapScale As Double
   startWidth As Double
   endWidth As Double
   distPhase As Double
   fractPhase As Double
   lineMask As Long
   mlineFlags As Long
   normal As Point3d
   rMatrix As Matrix3d
End Type

Sub Main()
Dim oLineElement As LineElement
Dim oLineStyle As LineStyle
Dim ptArr(0 To 1) As Point3d
Dim styleP As StyleParam

ptArr(0) = Point3dFromXY(0, 0)
ptArr(1) = Point3dFromXY(100, 100)
Set oLineElement = CreateLineElement1(Nothing, ptArr)
Set oLineStyle = ActiveDesignFile.LineStyles("{ Curtain }")
Set oLineElement.LineStyle = oLineStyle
mdlElement_getLineStyle 0, VarPtr(styleP), VarPtr(oLineElement), 0, 0
styleP.lscale = 0.5
mdlElement_setLineStyle VarPtr(oLineElement), 0, 0, 0, VarPtr(styleP)
ActiveDesignFile.DefaultModelReference.AddElement oLineElement
oLineElement.Redraw
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-29 17:21:06 | 显示全部楼层
我做实验写的也是这样,根本就没有作用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-24 01:42 , Processed in 0.408528 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表