乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 67|回复: 5

将访问记录集插入到图形中

[复制链接]

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2004-12-29 09:58:22 | 显示全部楼层 |阅读模式
大家好...
我是该网站的新手,t-bear向我推荐了它。
我正在尝试从访问数据库中的表中导入记录。
我能够连接到数据库并从autocad内部创建记录集。我甚至能够像“我”想要的那样将记录插入到绘图中。
问题是这不是“他”想要的。
我需要的是:
用户从我的自定义用户表单中选择所有信息后,记录集中包含的数据应悬停在鼠标下方,直到他单击要将其粘贴到绘图中的位置。每个记录集都有许多行和许多列。
我目前正在使用以下内容:
ThisDrawing.PaperSpace.AddText fldPart,P,Height
(其中有几个语句,每列一
个)有了这个,我使用一个for或一个while循环,并将每行和列逐个插入到绘图中,并更改每个语句的插入点。
任何帮助或建议都将得到极大的赞赏

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

6

主题

38

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2004-12-29 12:24:45 | 显示全部楼层
问候任何人。
这里有几个方向可供您选择。没有一个像你希望的那样简单明了。
一种方法是在新的绘图中从记录集中创建文本,保存它,然后使用send命令字符串启动ddinsert命令。用户对块插入很熟悉,但是它不是一个紧密的程序,并且您对发生的事情失去了一些控制。
另一个方向是,在一个单独的dwg文件中创建表格,并将其作为一个块插入(稍后您可以分解它),但使用一个Ghost块插入例程来方便客户端的请求。
该例程不在此站点上。在一个叫Cadvault.com的网站上。去那里,注册,并运行一个“幽灵街区”的搜索它是由一个绅士谁是该网站的成员写的。
祝您好运,如果您有任何其他问题,欢迎再次光临。
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2004-12-30 10:17:38 | 显示全部楼层
谢谢巴什沃斯
这给了我一个好的开始和一些好的想法。我现在非常接近我想要的方式。
但是...我还有几个其他问题。这是我的一段代码:
--------------------------------------------------------------------------------------
Set newBlock=ThisDrawing.Blocks.Add(pt1,"txtBlock")
For i=0 To iSelected-1
如果lbDrawings.Selected(i)然后
strDrawing=("select[绘图id]
from绘图
其中[绘图id] = '" & lbDrawings.Column(0, i) & "'")
Set rs=db.OpenRecordset(strDrawing, dbOpenDynaset)
Set fld绘图=rs.Fields("绘图id")
rs.MoveFirst
不rs.EOF
设置txtObj=newBlock.AddText(fld绘图, pt1,0.09)pt1(1)=pt1(1)-0.1696
rs.MoveNext
Wend
结束如果
下一步
ThisDrawing.PaperSpace.InsertBlockpt,"txtBlock",1,1,1,0
------------------------------------------------------------------------------------
好的问题是:
1.如何删除我创建的块或至少清除它。
我已经尝试了
newBlock.delete和
ThisDrawing.Blocks("txtBlock")。删除
我得到了对象所需的错误
2.Can我在将文本添加到块之前或之后格式化文本
我需要设置字体、宽度和粗体。
对于字体,我可以使用
ThisDrawing.ActiveTextStyle.SetFont“罗马人”、False、False、1、1
但我不想做全局字体更改。
任何帮助或建议都会非常感激
回复

使用道具 举报

6

主题

38

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2004-12-30 11:41:26 | 显示全部楼层
很高兴它来了。
对于您的第一个问题。 您正在向块集合添加成员。 添加到此集合时,不会在模型空间中创建任何实际块。 如果你想要一个,你可以使用BlockReferences集合。 无需将其从集合中删除。
至于字体。 添加文本时,可以使用textObj的属性来调整字体,宽度,高度等。使用 AddText 方法后。
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2004-12-30 12:32:50 | 显示全部楼层
您好,谢谢……
我需要删除或清除该块的原因是,每次我运行该模块时,它都会在旧信息的基础上不断添加新信息。所以我需要的是,当我开始这个过程时,它首先删除或清除块,然后添加新的信息
现在的情况是,每次我运行它来测试它时,我都必须创建一个新块来获得一个空块。我一直这样做:
设置newBlock=ThisDrawing.Blocks。添加(pt,“txtBlock12”
然后下次运行它进行测试时
设置newBlock=ThisDrawing.Blocks。添加(pt,“txtBlock13”
对于块中的文本,我可以执行以下操作:
设置txtObj=newBlock。添加文本(flddrawing,ptDrawing,0.09)
txtObj。Color=acBlue
但没有txtObj。宽度选项,或者它被称为我不喜欢的东西
插入块并分解后,我可以右键单击并转到“属性”并设置宽度,但这会破坏vba的自动化。
回复

使用道具 举报

6

主题

38

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2004-12-30 14:45:20 | 显示全部楼层
您需要将其保持为块吗?我以为您之前只是插入独立文本,并且您将在插入完成后爆炸块。无论如何...我必须对那个做一点研究。您是在同一个子级中调用删除方法,还是稍后再调用?
至于文本。我建议为此创建一个新样式。您正在做的一些事情(例如粗体)实际上只能从样式中使用。
如果没有,宽度是缩放因子属性(我相信)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-16 16:33 , Processed in 2.631931 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表