明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2254|回复: 13

[.net群] 2013-06-25 明经 AutoCAD.NetApi (2474812) 群聊记录:请教大家一个查错的方法,我有一个程序,在运行过程中会出现"句柄

 关闭 [复制链接]
发表于 2013-6-25 09:28:39 | 显示全部楼层 |阅读模式
[C#]有心人问道 09:28:39
请教大家一个查错的方法,我有一个程序,在运行过程中会出现"句柄未初始化."的错误,但是让人费解的是在弹出这个错误时,程序没有停止,依旧在运行,我在代码中跟踪也没有发现在哪出错,请大家帮我找找原因,这个问题困绕了我很久了,在线等啊!
 楼主| 发表于 2013-6-25 09:51:55 | 显示全部楼层
[沪C#]无情剑客 09:51:55
你发送命令后,同时记住命令圆的圆心和半径,然后自己计算范围,然后用zoom缩放到这个计算的范围
[vb.net]流水 09:52:35
[qqimg]oldimg/{1D4AF361-C945-FEC1-3EDC-6C427E6172CD}.jpg[/qqimg]VB.net语言开发的程序,向Excel 的VBA程序中添加代码时出现这样的问题,而且也做了Microsoft Visual Basic for Applications Extensibility的引用
求指点
[xingang1005]星光 09:53:21
我怎么才能读取指定的实体的扩展数据
[vb.net]流水 09:53:46
.getXdata
从O开始 09:54:13
.xdata
[xingang1005]星光 09:54:21
不知道
[xingang1005]星光 09:55:37
我用的是DataTable存储的扩展数据
[vb.net]流水 09:55:37
别人都是这么干的,我怎么一用就出这么个问题呢
[vb.net]流水 09:57:09
有做过向向Excel 的VBA程序中添加代码的大虾给点意见呗
 楼主| 发表于 2013-6-25 10:38:30 | 显示全部楼层
[xingang1005]星光 10:38:30
怎么获取自己构造出来的实体的id
从O开始 10:39:29
实体没有id
只有objectid  handle
[xingang1005]星光 10:39:51
我写了一个方法画自定义实体 要写另一个方法去获取刚画的实体的id如何能实现呢就是objectid
我说的id就是objectid
从O开始 10:41:14
 这是最基础的了,真不知道你之前是怎么写的,ta.getobject(id,openmode.read)
[xingang1005]星光 10:41:32
我的实体已经画出来了 但是我不知道要怎么样去获取方法画出的实体 我需要写一个人反应器只有当用户点击到我画的实体才弹出自定义窗体
 楼主| 发表于 2013-6-25 10:59:50 | 显示全部楼层
[C#]紫爱leslie 10:59:50
人家不写基础的,只写高级的
[zhengjian211]疯狂青蛙 11:00:17
乱七八糟的 基本概念都没弄清,还反应器,自定义
[沪C#]无情剑客 11:01:06
选择实体,直接可以拿到objectID
[xingang1005]星光 11:01:27
不选择
不要选择 选择得到我也会
[沪C#]无情剑客 11:01:55
不选择只有遍历
[沪C#]无情剑客 11:02:25
不选择?那么多实体,CAD怎么可能知道你要哪个实体的ID?
[zhengjian211]疯狂青蛙 11:02:31
把你的需求简化下,就是双击实体,弹出一个对话框,包含实体的ID
这个实体有什么特征?块名?
[沪C#]无情剑客 11:03:00
双击也算是选择了
[xingang1005]星光 11:03:41
我需要只双击画出的图像时才弹出自定义窗体
[沪C#]无情剑客 11:03:57
那不一样是选择了吗?
[xingang1005]星光 11:04:20
我需要的是在双击前得到id
从O开始 11:04:44
你的名词很多都不准确,那不是图形,应该是你绘制的模型,双击前肯定不行吧,这要求是怎么想的?
[沪C#]无情剑客 11:05:00
你都没双击,CAD怎么知道你要显示哪个的id?
基础知识都搞不清
[沪C#]无情剑客 11:05:54
所谓的双击前,其实就是选择的时候进行判断是否符合你的要求,符合的就显示你要的,不符合的直接无视
[C#]小罗 11:06:14
鼠标移动时?
[沪C#]无情剑客 11:06:37
鼠标移动时算是另外一种
[xingang1005]星光 11:07:01
我感觉我要写一份完整的报告你们才知道我要的是什么
[zhengjian211]疯狂青蛙 11:07:07
你自己画的实体有什么特性?是个块?
[沪C#]无情剑客 11:07:23
是你自己的基础知识没有搞清
[xingang1005]星光 11:07:30
不是块  就是一个并集后的实体
[沪C#]无情剑客 11:07:54
表述出来的东西让我们觉得模棱两可,不知道你到底做什么
[zhengjian211]疯狂青蛙 11:08:15
啥叫并集后的实体?
[沪C#]无情剑客 11:08:35
不管是什么,双击时都可以判断type,满足的弹出提示,不满足的不管
实体而已
[zhengjian211]疯狂青蛙 11:08:49
你所谓的实体是一堆松散独立的实体(线,文字等)还是一整个块
[沪C#]无情剑客 11:09:13
就是un命令集合的实体而已
[C#]紫爱leslie 11:09:13
[zhengjian211]疯狂青蛙 11:09:55
un命令?我这是设置单位
[xingang1005]星光 11:10:00
画一个模型 程序运行时弹出窗体可以输入参数 选择位置生成 然后双击该实体弹出窗体可以修改参数
[沪C#]无情剑客 11:10:01
uni
[xingang1005]星光 11:10:22
就这么简单 的功能
[沪C#]无情剑客 11:10:39
[qqimg]oldimg/{22981CA0-C228-2917-37D9-43BFC9D2D510}.jpg[/qqimg]
不告诉你解决方案了么?
[mengdi8021]梦迪 11:11:17
请问如何获得一个块的基点坐标?
有没有函数
[xingang1005]星光 11:11:39
额 我试试 不是我不搞基础 目前是没法从基础搞起
我得先想办法留下来才能慢慢搞基础
[沪C#]无情剑客 11:11:55
首先截取CAD的双击事件,然后判断是不是你要的type,是的话屏蔽系统双击,弹出你自己的
块不是有基点属性吗?
好像叫origi...什么的
从O开始 11:12:56
他的不是块,实体
[zhengjian211]疯狂青蛙 11:12:58
你画好的实体发一个来
你所谓的实体,模型
[沪C#]无情剑客 11:13:14
Origin
不需要,直接按照我的思路就行了
type是根据他实际模型来写
[xingang1005]星光 11:14:19
[qqimg]oldimg/{8C667121-223F-09EE-8CAE-2EE742E1E8E2}.jpg[/qqimg]、
[沪C#]无情剑客 11:15:10
看这个没意义
对CAD来说,只是知道你双击想判断的是什么type就行了
[zhengjian211]疯狂青蛙 11:15:13
uni命令绑一起的?
没做过三维. 只用过group命令
[xingang1005]星光 11:15:49
头有点大了
[沪C#]无情剑客 11:15:55
3DSOLID
type用这个
从O开始 11:16:16
布尔运算出来的
[沪C#]无情剑客 11:16:28
uni后的一般是一个
你用CAD看看他的type不就行了?
[zhengjian211]疯狂青蛙 11:17:12
这种需求还是arx 好
自定义实体
[沪C#]无情剑客 11:17:36
自定义实体也有type的
[xingang1005]星光 11:17:36
[xingang1005]星光 11:19:41
怎么个type
[xingang1005]星光 11:22:22
双击这个实体弹出指定窗体 读取写在实体里的数据
[xingang1005]星光 11:22:57
谁有兴趣帮我看看代码
[C#] 玄天 11:28:10
代码发出来看看
[沪C#]无情剑客 11:28:50
没空看,上班忙ing
[xingang1005]星光 11:29:33
发到哪
从O开始 11:30:01
谁有兴趣和时间你可以联系发给他个人帮你看一下
[xingang1005]星光 11:30:45
好的
笑看人间 11:30:53
[mccad]MCCAD 11:31:00
充值 a4b60586-04c7-4347-a4c9-86e26f3cac23
[xingang1005]星光 11:31:02
没人教我 我自己有点无从下手了
[zhengjian211]疯狂青蛙 11:31:46
什么功能啊?
充值
[mccad]MCCAD 11:32:57
让小明能够对新会员发出改名的说明
[mccad]MCCAD 11:33:49
小明长期对新人群没有提醒改名,发现小明也要充值,好惨
不过都是我自己操作
[zhengjian211]疯狂青蛙 11:34:36
这个机器人要钱?
[mccad]MCCAD 11:34:58
虚的,不充值它不工作
[zhengjian211]疯狂青蛙 11:35:07
[xingang1005]C#星光 11:35:29
改了
[VB.NET/VBA津]绒绒 11:38:18
怎样让实体的颜色随图层?
从O开始 11:38:53
设定colorindex值为随层
[VB.NET/VBA津]绒绒 11:40:11
colorindex 是多少啊?
是几?
从O开始 11:40:41
这个你一查不就知道
[VB.NET/VBA津]绒绒 11:40:55
就是查不到才问的啊
从O开始 11:40:58
不是-1 就是255,自己思考一下
[zhengjian211]疯狂青蛙 11:43:28
你找个随层的实体测试一下
[VB.NET/VBA津]绒绒 11:43:39
好的
 楼主| 发表于 2013-6-25 12:01:31 | 显示全部楼层
[VB.NET/VBA津]绒绒 12:01:31
obj.UpgradeOpen相对应的是什么啊?
[C#]有心人问道 12:01:42
256
[zhengjian211]疯狂青蛙 12:03:19
回去补习英语
DowngradeOpen
[VB.NET/VBA津]绒绒 12:03:30
[VB.NET/VBA津]绒绒 12:04:05
以为是upgradeclose()
[zhengjian211]疯狂青蛙 12:05:10
关闭还要降级升级?
 楼主| 发表于 2013-6-25 12:48:13 | 显示全部楼层
[VB.NET/VBA津]绒绒 12:48:13
[C#]有心人问道(214190173)  12:00:28
256
谢谢啊.是256随图层!
C#--光头 12:51:26
using AXDBLib;  这个2008的版本要添加那个费用
C#--光头 13:01:21
using AXDBLib;  这个2008的版本要添加那个引用
 楼主| 发表于 2013-6-25 13:47:46 | 显示全部楼层
[C#]有心人问道 13:47:46
不用谢。
 楼主| 发表于 2013-6-25 15:05:17 | 显示全部楼层
[xingang1005][C#]星光 15:05:17
谁有双击的实例C#的 双击特定是实体才弹出自定义
从O开始 15:06:04
[xingang1005][C#]星光 15:07:17
[qqimg]oldimg/{03429112-636B-CF92-D9F0-58BF23C47726}.jpg[/qqimg]这个判断不了我要弹出的条件
[zhengjian211]疯狂青蛙 15:08:12
废话
你那个判断的是弹出的属性窗口
[xingang1005][C#]星光 15:08:41
e.Veto()后面得加个if().....我加了老是不正确
[zhengjian211]疯狂青蛙 15:08:47
properties 不认识吗
[xingang1005][C#]星光 15:09:18
那个我也改过了
[zhengjian211]疯狂青蛙 15:09:35
[zhengjian211]疯狂青蛙 15:10:05
你选的事件根部就不对
[xingang1005][C#]星光 15:10:30
怎么个选法
[zhengjian211]疯狂青蛙 15:10:57
弹出属性窗口时,改变了文档的锁定属性,所以事件被触发了
[zhengjian211]疯狂青蛙 15:11:34
获取当前选择集
[xingang1005][C#]星光 15:13:17
我该换成哪个
[zhengjian211]疯狂青蛙 15:15:41
昨天发给你帖子了啊
照着抄就可以了
你用这个事件也可以
e.veto();后面加判断语句
[xingang1005][C#]星光 15:16:42
我加了 都加蒙了 还是判断不出来
[zhengjian211]疯狂青蛙 15:16:44
获取当前选择实体,判断其类型是不是你期望的
[xingang1005][C#]星光 15:18:10
我获取的是一个实体 点击其他实体都不弹出
[zhengjian211]疯狂青蛙 15:18:29
获取当前选择的实体会不会???
[xingang1005][C#]星光 15:19:04
实体在画出来时没有被选择
[zhengjian211]疯狂青蛙 15:19:14
双击时你没选择?
没选择到东西如何双击?
空击屏幕?
[xingang1005][C#]星光 15:19:43
选择了别的东西也会弹出
[zhengjian211]疯狂青蛙 15:19:57
别扯
先获取当前实体
获取到再判断
[xingang1005][C#]星光 15:20:13
我要的是只有双击我画的东西才弹出 别的怎么点都不弹
从O开始 15:20:33
[zhengjian211]疯狂青蛙 15:20:38
事实是你连逻辑都没搞清
从O开始 15:21:08
自己静下心来思考一下
[xingang1005][C#]星光 15:21:11
逻辑清楚了就没法实现我要的啊
[xingang1005][C#]星光 15:21:49
我也搞不懂 别人是怎么实现是
[zhengjian211]疯狂青蛙 15:21:58
什么玩意
逻辑清楚了就没法实现你想要的?
非要不清楚了才能做出来?
[C#]有心人问道 15:22:20
他可能选择了实体,但没有判断实体类型,只要是实体就弹出他的对话框。
[xingang1005][C#]星光 15:22:31
是啊
[zhengjian211]疯狂青蛙 15:22:50
可是他觉得双击时还获取不到实体
[C#]有心人问道 15:23:05
应该选判断你选择的实体是不是应该弹出对话框的实体。
[xingang1005][C#]星光 15:23:35
我双击的是一个自己的方法画出来的模型 合并到一起的
[zhengjian211]疯狂青蛙 15:23:38
先选上,再双击 要不要脱裤子放屁
双击的同时就选上了
[xingang1005][C#]星光 15:24:31
[qqimg]oldimg/{B7E28E0F-EFA7-4722-3F17-22BFF5B65D7D}.jpg[/qqimg]我就是在搞这个
[zhengjian211]疯狂青蛙 15:24:32
你先实现双击时,在命令行输出双击实体的ObjectId
再谈别的
[xingang1005][C#]星光 15:24:57
那个我已经实现了
[zhengjian211]疯狂青蛙 15:25:03
还有什么难?
知道id,就知道类型了
[C#]有心人问道 15:25:28
我估计你没有判断,所以不管双击哪一个都会出来你的对话框。
[zhengjian211]疯狂青蛙 15:25:46
对比一下,如果不是你的实体,就继续执行cad原来的双击操作,如果是就弹出你的窗体
[xingang1005][C#]星光 15:25:48
不是估计 我就是没判断好
我搞不懂需要怎么判断
[C#]有心人问道 15:26:13
那你应该判断啊,你不判断怎么行。
从O开始 15:26:27
你自己与其在这个老是讨论这个问题,不如自己好好想想,大家早就告诉你了
[C#]有心人问道 15:26:36
ent.gettype().name=="你的实体类名"
从O开始 15:26:38
越说越乱
一个罕见的的问题
很简单
判断有没有扩展数据,有的肯定是你添加画的实体
C# 雾雨 15:27:19
Xdata里面能记录List这种类型吗
从O开始 15:27:25
类型不太可靠
[zhengjian211]疯狂青蛙 15:27:39
你要找到你自己实体的特征
或者添加一个自己的实体就在词典里加一条记录,这样对比是最可靠的
但是扯远了
[xingang1005][C#]星光 15:28:22
我已经加过扩展记录了
[zhengjian211]疯狂青蛙 15:28:51
在扩展记录里增加一个特征字符串
从O开始 15:28:55
判断实体有没有不就行了,你就别在问了
[zhengjian211]疯狂青蛙 15:29:05
读取所选实体的扩展记录,看有没有这个特征字符串
[xingang1005][C#]星光 15:29:39
把这个读取写到双击判断里是吧
从O开始 15:30:38
弹出窗体前
自己想想
[zhengjian211]疯狂青蛙 15:32:47
真让人捉鸡
[xingang1005][C#]星光 15:33:06
我也捉鸡的很
[C#]有心人问道 15:41:29
我的奇葩问题又来了,请问怎么根据一个handle.value 来重新还原这个handle?我有时会还原错误。
[C#]有心人问道 15:44:32
获取handle值的语句是这样的。[qqimg]oldimg/{206D086A-1C82-D756-DD60-54E0D0EFD1A9}.jpg[/qqimg]
[C#]有心人问道 15:45:03
但是用这个值还原时,有些地方就会无效,找不到指定的对像。
[VB.net]福萝卜 15:45:57
还原的代码呢
[C#]有心人问道 15:46:25
[qqimg]oldimg/{FC3BE52C-FFAF-B20F-84DD-37B0FEAD938D}.jpg[/qqimg]
这个代码我是在网上找的。
C# 雾雨 15:47:50
你有没有 改过这个句柄所对的对象
[C#]有心人问道 15:48:47
没有改过。
[C#]小罗 15:49:02
对象被删除了?
[C#]有心人问道 15:49:05
只要我没有删除它,handle不会变啊。
没有。
C# 雾雨 15:49:17
你修改过吗
[C#]有心人问道 15:49:32
可以确定的是我转换的问题,不是对像的操作问题。
[C#]有心人问道 15:50:06
只是我不知道我应该怎么转换才是最正确的。
[VB.net]福萝卜 15:50:07
你可以获取为string在还原回来试一下
[VB.net]福萝卜 15:52:10
[qqimg]oldimg/{6B43B6CE-4006-5302-CC49-1B2A70EAC829}.jpg[/qqimg]
[C#]有心人问道 15:53:01
&H是什么意思?
[VB.net]福萝卜 15:53:42
vb 里面的 16进制前缀
[C#]有心人问道 15:54:26
哦。
[VB.NET/VBA津]绒绒 16:00:32
如何通过handle找到实体或实体的objectid?
[C#]有心人问道 16:04:39
[qqimg]oldimg/{4B2F8C52-791A-EDE6-B075-3CFF60DD138D}.jpg[/qqimg]
[VB.NET/VBA津]绒绒 16:05:06
谢谢!
[C#]有心人问道 16:06:01
不客气。
 楼主| 发表于 2013-6-25 16:35:21 | 显示全部楼层
[C#]有心人问道 16:35:21
[qqimg]oldimg/{D1FB226A-791F-BF38-61C0-5AF7A7A597A4}.jpg[/qqimg]  请问一下,我有一个handle为6653,我跟踪此handle时,发现它的value为26195,请问这是怎么换算的?
[C#]有心人问道 16:36:14
[qqimg]oldimg/{22248FFF-ADDF-671F-788B-CCE667367C42}.jpg[/qqimg]
[qqimg]oldimg/{D8F6785D-6556-9AE0-950D-FCF2443EB92E}.jpg[/qqimg]
[VB.NET/VBA津]绒绒 16:39:13
我也碰到过这个问题,但是程序运行的结果是对的
[zhengjian211]疯狂青蛙 16:39:17
6653是16进制 26195是十进制
计算器上拍下知道了
[zhengjian211]疯狂青蛙 16:39:58
[qqimg]oldimg/{7C26D82C-2602-EF3E-4C77-26291A82256E}.jpg[/qqimg]
[C#]有心人问道 16:40:35
我晕。我搞反了。
[zhengjian211]疯狂青蛙 16:41:29
handle你用cad自带的list命令就有了
value是换算后的10进制
[C#]有心人问道 16:41:45
但是,在C#中怎么进行进制转换呢?
C# 雾雨 16:43:30
Convert.ToString(69, 16)
[zhengjian211]疯狂青蛙 16:43:32
Convert.ToInt32(string value, int fromBase):

可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:

如Convert.ToInt32(”0010”,2)执行的结果为2;

Convert.ToString(int value, int toBase):

可以把一个数字转换为不同进制数值的字符串格式,其中toBase参数为进制的格式,只能是2、8、10及16:
C# 雾雨 16:43:43
。。。
[C#]有心人问道 16:44:03
哦,谢谢。
[zhengjian211]疯狂青蛙 16:45:12
谁做过属性块的Ji拖动,我做的在拖动时和拖动确认后的属性文字位置不一样.
稍微有点错位,咋回事
[zhengjian211]疯狂青蛙 16:48:50
[qqimg]oldimg/{8632ED68-80B5-8CA0-8748-09F95FB87944}.gif[/qqimg]
 楼主| 发表于 2013-6-25 18:02:25 | 显示全部楼层
C#--光头 18:02:25
如何提料块的边界。。。net  C#
如何提料块的边界。。。net  C#
如何提取块的边界。。。net  C#
[zhengjian211]疯狂青蛙 18:10:15
你要的边界是什么形状?
C#--光头 18:10:51
矩形的
[zhengjian211]疯狂青蛙 18:11:30
先把块转正,用getextends3d得到边界点,再把边界点绕块基点反向旋转
[zhengjian211]疯狂青蛙 18:12:08
绿色外框
[qqimg]oldimg/{BB27A323-FD93-E338-2289-3BFF89E45171}.jpg[/qqimg]
[qqimg]oldimg/{5B2A1ACC-05F4-DA69-ACBF-09250BCD2A54}.jpg[/qqimg]
C#--光头 18:13:01
getextends3d在哪里的方法
[zhengjian211]疯狂青蛙 18:13:14
entity的
不知道是不是这么写
你自己找找
C#--光头 18:13:59
好的,谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-23 12:38 , Processed in 0.208491 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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