Ohnoto 发表于 2022-7-6 09:56:13

@李。。。因为我知道你正在阅读聊天区的帖子。显然,我不想在那里发布这个Lisp程序的帖子。
 
我将尽可能详细地描述我的想法,包括我们如何在工作中做事,因为它与上面的提纲有些不同。即使是更一般的东西也可能对其他人更有利。
 
如上所述,当前的想法是两个LISP程序。
 
第一个例程:
用户可以选择一条多段线,对我们来说,这条多段线从项目开始到结束是连续的,我们可以去掉我们的足迹。
 
然后它会要求30/50/100的比例-在这里,我希望它插入的轮廓块的可视性为30/50/100。然后,该块将根据比例大小以增量沿先前选定的多段线放置。
 
从这里,用户将验证轮廓,确保块的方向正确,因为当这条线调整或转向其他道路时,可能会出现一些小问题。
第二个例程:
对于大纲块,我将包括定位属性,这些属性可用于排序将按顺序放置的块。
 
在这里,DCL可能是最好的,您可以选择要使用的边框块,列出名称中带有“border”的任何内容。但是,它会提示使用哪个边界。
 
我们将页面命名为01、02、03。。。因此,不需要提示页面的名称,因为它是当前名称+1。
 
从这里开始,它将根据排序顺序设置边界,根据每个块旋转和设置范围角。
 
然后,当它设置页面时,我已经有了一个旋转北箭头LISP,我想在它运行时将其包括在内。
 
 
我希望这能澄清你对这个Lisp程序的任何问题,但如果没有,请告诉我。

BIGAL 发表于 2022-7-6 10:01:05

我的尝试
 
拾取pline并计算出包含轻微重叠的间距记住框的中心点,为在该点对齐pline的每个点创建ucs!曲线和方向改变,然后没有问题。
 
您知道使用首选标题栏需要多少个pts=num布局
 
创建新布局技巧位(Lee??)跳入视口,只需将UCS更改为正确的长方体平面等,将C缩放到长方体的中心并设置正确的比例
 
对所有视图重复上述步骤。
 
添加一些代码“gasp”,并在运行时填写表单详细信息。
 
找到了循环中的前几个步骤
(命令“_.layout”“\n”layoutname)(setvar“ctab”layoutname)继续从这里开始插入标题栏添加mview等,然后zoom认为跳入视图会很困难,但只是mview创建它们“mspace”

BIGAL 发表于 2022-7-6 10:02:49

非常粗糙,但这是一个如何做到这一点的例子
 
(setq x 1)
(setq pt1 "0,0");this becomes the new cen pt for each title
(repeat 5            ; how many required
(setq layoutname (rtos x 2 0))
(command "_.layout" "_n" layoutname)
(setvar "ctab" layoutname)
(command "mview" 0,0 100,100)
(command "zoom" "e")
(command "mspace")
; need a new ucs here
(command "Zoom" "c" pt1 100)
(setq x (+ x 1 ))
)
 
 
拜访了我们今天使用的一位顾问,他们必须以向他们展示图纸的方式满足客户的各种需求,每张图纸上的单个图纸,模型空间中的图纸,1个图纸空间中的图纸,以便他们可以一次看到所有图纸。令人难以置信。我们有简单的模型和布局
 
底线虽然一个例程可以做所有的,如果你绘制零件,但需要在多个选项卡上,它可能是有用的绘制一个pline下面的部分,它使表。
 
我需要按间隔计算pline,它在这里的某个地方,加上上面的1/2,还有其他人想试试吗?我很高兴添加更多内容,即使我们使用CIV3d。

Ohnoto 发表于 2022-7-6 10:08:31

因为我们没有专门修改UCS。应该能够得到轮廓块的角度,并做一些像。。。
 
(command "DVIEW" "" "TWist" (- outlineangle) "")

Ohnoto 发表于 2022-7-6 10:11:24

我很想让这一切继续下去,看看我们能做些什么,但我想看看你们之前都做了些什么。

Guest kruuger 发表于 2022-7-6 10:12:30

你在找这样的东西吗
http://www.theswamp.org/index.php?topic=38126.msg431906#msg431906
还有很多工作要做。
克鲁格

Ohnoto 发表于 2022-7-6 10:18:10

我不太确定你在那个帖子里做什么?这只是创建视口然后缩放到一个区域吗?这一页上的第一条帖子(2)更详细地介绍了我正在做的工作。希望明天,或者今晚晚些时候,我能够真正开始为它编写一些代码。

BIGAL 发表于 2022-7-6 10:19:21

我在上面发布了一些代码,但我没有发布的是每个t的每个中心的计算结果

Ohnoto 发表于 2022-7-6 10:22:56

That LISP appears to reset stationing at every 2000', but I'm not quite clear the intentions of it in regards to this.
 
Below is an image from a recent project, that shows our matchlines and project running line. As seen, our route twists and turns, crosses streets, etc. Viewports are set up at different angles on each page.
 
As much as I like the idea behind having everything in one LISP, there are just too many variables, I think. Such as, a set footage amount falling in the middle of a street and the viewport then set up crossing down the middle of the road, which we don't do.
 

 
If blocks were inserted, the user could then adjust them, and preferably viewports would then be set up with the same outline shape as the block. From this block the LISP should be able to pull angle information from the block to set the viewport page to, and the page name, based off of the attribute value. Attached is that block.
 

outline.dwg

BIGAL 发表于 2022-7-6 10:27:10

The insert chainage works fine for me I set the spacing to be equal to the size of my mview in the layout tab I found a spot to put the make new layout tabs within this code, if you run it and change the block "station" to be say a rectang then you should be able to see how its going to work. I found the pt_list contains all the points along the pline so thats step 1, step 2 is to add the ang of the title block at this point.
 
If you want shaped dwg areas then forget the way above you need a totally different approach it would actually be a bit easier as you have already worked out the size at scale. Just pick the pline outline and new layout created it would use a control pt which should be on the pline. You just need to work out the scale factor for a new pline mview in a layout tab.
 
I am still going to do the sq shape as we have a need for it.
页: 1 [2]
查看完整版本: 页面设置LISP Idea