明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2071|回复: 1

[灌水]一个未完成的程序

[复制链接]
发表于 2004-4-13 14:36:00 | 显示全部楼层 |阅读模式
  1. ;;一个未完成的程序,(原因必需配合使用者图框);;提供网友参考  ;;怎样将在模型空间中的图形在布局视图中被划分的多个小图形?;;以便于增加图框或者打印。;|以下说话是e2002版主你的需求很有意思,看来对水利,规划,地理,地质等专业很有用处。可能需要这样的一个程序:用户在MSpace中选择两点,再提供需要分块的数目(x=?,y=?),计算获得所有的分块出图区域的交点坐标点对列表,自动在一个新的Layout中生成所有Viewports。准备把这个写到我的Layout工具中去...谢谢你的想法和要求...8-)不过用AutoCAD自己的功能,生成相同大小的ViewPorts很简单,只是需要确定每一Viewport的显示的范围能不能快一点?这可以先写一个最简单的调用command的LISP来做。基本上这是一个「半自动」的解决方案。   |;    ;;只要再加些把viewport弄乱一下的程序,就是拼图游戏;;有谁把它完成.....;;BY 龙龙仔(LUCAS)(defun C:TT (/                      HOLDOSMODE                HOLDECHO                            PT1         PT2                              XY                    ANG         DIST       XDIST     YDIST     DX                      DY                              N1                    N                        PT_LIST PT                            )   (command "_.undo" "group")   (setq HOLDECHO (getvar "cmdecho"))   (setvar "cmdecho" 0)   (setq HOLDOSMODE (getvar "osmode"))   (setvar "osmode" 39)   (setq PT1 (getpoint "\n左下角: "))   (setq PT2 (getcorner PT1 "\n右上角: "))   (setvar "osmode" 0)   (alert       (strcat           "\n                             系统变量MAXACTVP = "           (rtos (getvar "maxactvp") 2 0)           "\n\n设定显示画面中可同时作用的最大视埠数。   \n                     但对出图的视埠数目没有影响。"       )   )   (setq X (getint "\nX分段数: "))   (setq Y (getint "\nY分段数: "))   (setq ANG (angle PT1 PT2))   (setq DIST (distance PT1 PT2))   (setq XDIST (* (cos ANG) DIST))   (setq DX (/ XDIST X))   (setq YDIST (* (sin ANG) DIST))   (setq DY (/ YDIST Y))   ;;(list PT1 PT2 XDIST YDIST DX DY X Y)   (setq N1 0)   (setq PT_LIST NIL)   (repeat (1+ Y)       (setq YY (+ (cadr PT1) (* N1 DY)))       (setq N1 (1+ N1))       (setq N 0)       (repeat (1+ X)           (setq PT (list (+ (car PT1) (* N DX)) YY))           (setq PT_LIST (cons PT PT_LIST))           (setq N (1+ N))       )   )   ;;(command "_.pline")   ;;(apply 'command PT_LIST)   ;;(command "")   (setq PT_LIST (reverse PT_LIST))   (setvar "tilemode" 0)   (setq SS (ssget "X"))   (command "_.ERASE" SS "")   (command "_.zoom" PT1 PT2)   (setq N 0)   (repeat Y       (repeat X           (command "_.mview"                                  (nth N PT_LIST)                                  (nth (+ N 2 X) PT_LIST)           )           (command "_.mspace")           (command "_.zoom"                                  (nth N PT_LIST)                                  (nth (+ N 2 X) PT_LIST)           )           (command "_.pspace")           (setq N (1+ N))       )       (setq N (1+ N))   )   (command "_.regenall")   (setvar "osmode" HOLDOSMODE)   (command ".undo" "end")   (setvar "cmdecho" HOLDECHO)   (princ))   
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-4-13 16:36:00 | 显示全部楼层
我都不记得什么时候贴的这个了,可惜后来一直忙得很,没多少时间能让我坐下来好好写一些需要实现的代码...


不过这确实是一个很好的游戏,用随机函数乱派一下,然后用户自己去调整,如果最后搞不定了,运行一个AutoOrderViewPorts命令,由程序自动演示如何完成....妙啊

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

本版积分规则

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

GMT+8, 2024-10-1 15:34 , Processed in 0.252227 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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