明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1301|回复: 4

[求助]小弟跪求高人帮忙,关于块的缩放问题~~

[复制链接]
发表于 2008-1-22 13:04:00 | 显示全部楼层 |阅读模式

弄了好长时间了...怎么都搞不定.

1,选择图形名为"A"的图层中所有名字为"ss"开头的块,如SS-1,SS-2,SS-3...
2,将所有的块逐一以每个块中心点为basePoint缩放1.5个单位. 注意是每个块都以自己为中心点放大1.5个单位.

请问怎么实现.小弟跪求了!!!!


Set sset = ThisDrawing.SelectionSets.Add("block")

sset.Clear

Dim fType(0) As Integer
Dim fData(0) As Variant

fType(0) = 2
fData(0) = "*"


sset.SelectOnScreen fType, fData

...往下....

 楼主| 发表于 2008-1-22 23:38:00 | 显示全部楼层
高手呀.你在哪里呀??
发表于 2008-1-22 23:43:00 | 显示全部楼层

object.ScaleEntity BasePoint, ScaleFactor

Object

MSITStore:D:\Program%20Files\AutoCAD%202008\help\acadauto.chm::/all_drawing_objects.htm">All Drawing Objects, MSITStore:D:\Program%20Files\AutoCAD%202008\help\acadauto.chm::/idh_attributeref_object.htm">AttributeReference
The object or objects this method applies to.

BasePoint

Variant (three-element array of doubles); input-only
The 3D WCS coordinates specifying the base point.

ScaleFactor

Double; input-only
The factor by which to scale the object. The dimensions of the object are multiplied by the scale factor. A scale factor greater than 1 enlarges the object. A scale factor between 0 and 1 reduces the object. The scale factor must be greater than 0.0.

发表于 2008-2-3 20:42:00 | 显示全部楼层
可以先建立选择集,然后建立过滤器,把名称为林SS*的所有块参照过滤出来,添加入选择集。然后用循环,得到每一个块参照的包围角点。以角点的连接线的中点做为基点,把块参照放大1.5倍。
发表于 2008-2-14 23:07:00 | 显示全部楼层

建立选择集,过滤选择层码为“A”,块名为“SS*”的块

循环,取插点PT1,由外框点求得中心点PT2,

如果两点不是同一点以点2为原点求出点1方向距离为1.5倍的点为块的新插入点位置否则插入点位置不变

设块X,Y,Z的比例为原来的1.5倍。Over

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

本版积分规则

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

GMT+8, 2024-11-26 12:01 , Processed in 0.152916 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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