乐筑天下

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

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

[复制链接]

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2004-4-13 14:36:00 | 显示全部楼层 |阅读模式
  1. ;;一个未完成的程序,(原因必需配合使用者图框);;提供网友参考  ;;怎样将在模型空间中的图形在布局视图中被划分的多个小图形?;;以便于增加图框或者打印。;|以下说话是e2002版主你的需求很有意思,看来对水利,规划,地理,地质等专业很有用处。可能需要这样的一个程序:用户在MSpace中选择两点,再提供需要分块的数目(x=?,y=?),计算获得所有的分块出图区域的交点坐标点对列表,自动在一个新的Layout中生成所有Viewports。准备把这个写到我的Layout中去...谢谢你的想法和要求...8-)不过用自己的功能,生成相同大小的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))   
回复

使用道具 举报

20

主题

653

帖子

15

银币

中流砥柱

Rank: 25

铜币
733
发表于 2004-4-13 16:36:00 | 显示全部楼层
我都不记得什么时候贴的这个了,可惜后来一直忙得很,没多少时间能让我坐下来好好写一些需要实现的代码...


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

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-15 23:38 , Processed in 2.068271 second(s), 56 queries .

© 2020-2025 乐筑天下

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