artken 发表于 2011-10-24 06:14:56

有个想法,不知如果实现,请高手指点一下迷津

想实现下面这个功能:

在模型空间ENTSEL一个矩形-------》程序自动在“布局1”里生成一个视口,视口里显示的内容就是刚才选择的矩形的范围内的内容,视口的比例是已知的(比如1:50)----》在模型空间继续选择一个矩形,程序在“布局1”里并排在上一个视口后面再生成第二个视口.......(循环前面的)




搜了一上之前的帖子,看了几个函数,还是有问题不知如何进展下去:

第一视口时:
1,用vla-AddPViewport应该可以生成视口,vla-put-customscale应该可以改视口比例。视口的宽和高也可以通过矩形的与视口比例之间的关系算出来。可是怎么让这个视口中心能刚好显示到模型空间这个矩形的中心???

第二个及以后的视口时:
2,怎么让新的视口与上一个视口并排排列?

byghbcx 发表于 2011-10-24 10:58:33

1、改视口比例时,视口中心与模型空间这个矩形的中心是不变的;
2、视口排列问题,取出所有的VIEWPORT,得出中心点最右的VIEWPORT,计算出右下角坐标,插入视口。

artken 发表于 2011-10-24 16:08:35

谢谢byghbcx。

有个新问题:程序在模型空间vla-AddPViewport后我想仍然保持在模型空间(不进入布局)中设置视口的内容(相当于在布局双击鼠标进入视口里面的模型空间),这里用(vla-put-mspace AcadDoc :vlax-true)的话会出错,如果在布局运行这代码就不会出错。请问有什么好的办法吗?
页: [1]
查看完整版本: 有个想法,不知如果实现,请高手指点一下迷津