找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 937|回复: 15

[求助]:MDL新手求助

[复制链接]
发表于 2004-11-22 09:39:43 | 显示全部楼层 |阅读模式

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

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

×
小弟刚刚接触MDL,有问题求助。
我要得到选中线条上的所有点坐标,用MDL怎样实现?
哪位大虾好心说一下步骤,谢谢!
还有,用MDL如何得知正在使用MS主工具箱上的哪个工具?
谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-11-22 10:22:55 | 显示全部楼层
1、mdlLinear_extact提取线条的所有点坐标;
2、用mdlInput_setFunction(INPUT_COMMAND_FILTER, filterFunc)可监控MS的各命令;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-22 14:33:44 | 显示全部楼层
多谢2楼楼主。
因小弟确系初学,对第一个问题可否说的详细些。
从打开一个DNG文件开始,要走过哪些步骤才到你上面说的mdlLinear_extact ?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-11-23 09:22:15 | 显示全部楼层
如果你不是批处理的话,那就通过鼠标拾取,拾取函数Pick的内容为
mdlLocate_allowLocked();
    mdlState_startModifyCommand ( Pick,Accept,NULL,NULL,NULL,-360,1,FALSE,0);
        mdlOutput_prompt("请选择元素");
        mdlLocate_init();

在写一个接受的函数Accept,
FilePos = mdlElement_getFilePos (FILEPOS_CURRENT, &fileNum);
        if(mdlElmdscr_read(&elmDP,FilePos,0,0,NULL)!=0)
        {
                           这里调用mdlLinear_extract就可以了
                           }
如果你是批处理的话
mdlScan_initScanlist(&mScanList);
        mdlScan_noRangeCheck(&mScanList);
        mScanList.scantype            = ELEMTYPE|NESTCELL ;
    mScanList.extendedType   = FILEPOS;
    mdlScan_initialize (0, &mScanList);
    do{
        mScanWords=sizeof(mRetPos)/sizeof(UShort);
        mStatus=mdlScan_file(mRetPos,&mScanWords,sizeof(mRetPos),&mNextFilePos);
        mElmNum=mScanWords/sizeof(UShort);
        for (i=0; i<mElmNum; i++)
        {
        if(mdlElmdscr_read(&elmDP,mRetPos,0,0,&mActualPos)==0)continue;
type=mdlElement_getType(&(elmDP->el));
iftype==LINE_STRING_ELM||type==CMPLX_STRING_ELM||type==LINE_ELM)
{
这里调用mdlLinear_extract就可以了
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-23 09:43:44 | 显示全部楼层
多谢jnfgisc兄!!
再想请教关于鼠标消息的问题。
在VC里面鼠标各种操作都有相应的消息发出,不知到MDL里面有没有相应的函数呢?我在视图内点击鼠标,而mdlSystem_checkButtonHit函数却没有返回TRUE,是为什么,要如何做呢?
对于
mdlSystem_checkMouseMove  这样的函数,返回Point2d类型的值,可是如何得到分离开的X和Y坐标呢。Point2d->X这样的形式又不能用,怎么处理呢?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-23 09:56:40 | 显示全部楼层
1、可以通过对话框内的按钮来响应pick函数
2、可以在main函数中直接调用pick函数
pick就是左键选择,accept函数就是左键确认的响应函数,他跟vc不同的就是响应函数自己定义,没有现成的鼠标响应函数,我知道的就这些,不知道对吧
对于你说的那个函数,我不太清楚,但是
mdlLinear_extract
int mdlLinear_extract
(
Dpoint3d         *points,       /* <= vertices */
int        *numVerts,        /* <= number of vertices */
MSElementUnion            *in,     /* => linear element */
int           filenum     /* => 0 for master, 1-72 for reference */
)
points数组中存放就是线的全部坐标
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-23 11:01:19 | 显示全部楼层
“Point2d->X这样的形式又不能用”不对吧?
Point2d  pt2d;
pt2d.x和pt2d.y都是可用的!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-23 22:43:03 | 显示全部楼层
多谢各位指点。
小弟我又有问题。
我要做工具条,ICON是23*23和31*31的栅格,要一个个地写,这东西怎么画啊。
那个表示像素灰度值的数组是怎么排的,我就是看不明白呀
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-11-24 14:55:09 | 显示全部楼层 |阅读模式

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

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

×
不好意思,再问一下,启动Generate Resource Source 的命令是哪一个呢。
麻烦各位了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-11-24 16:02:13 | 显示全部楼层
mdl load sourcer
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-24 22:41:56 | 显示全部楼层
工具栏命令图标按下之后会有一个带标题的小对话框,
DItem_IconCmdRsc 下面不带任何ITEM也会出来一个空的对话框,
可不可以让它不显示啊。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-11-28 10:21:22 | 显示全部楼层
我的问题还是加在这里吧。还是工具条的问题。
在响应命令的函数中如果用了mdlState_startPrimitive,非要得到一个数据点才执行其中的函数。调用一个刷新视图的函数就希望能够立即执行,在响应命令的函数中直接调用自己的函数好像也可以,但是工具条按钮不会按下了,直接调用对整个程序运行有什么不好的影响么
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-9 11:06 , Processed in 0.489261 second(s), 62 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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