乐筑天下

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

如何實現一個200*200等差實體點陣

[复制链接]

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2004-1-29 18:45:00 | 显示全部楼层 |阅读模式
各位仁兄:
         小弟有一事請幫忙:用lisp語言實現一個200*200實心體點陣
                                 比如起始點為0.5mm(可以變f且直接輸入最好)
                                 遞增公差為0.05mm(可以變f且直接輸入最好)
                         小弟先在此謝啦!
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-1-29 22:30:00 | 显示全部楼层
用什么编程!
array不就行了
回复

使用道具 举报

21

主题

216

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
305
发表于 2004-1-29 23:58:00 | 显示全部楼层
复制代码
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2004-1-30 09:27:00 | 显示全部楼层
這裡先謝版主啦 1
        但是您給程式在autocad運行顯示為"Unknown command"
小弟這裡有個類似程式一個可簡單運行畫圓,不是我要的實體(donut)
但如果改成可輸入基本條件但運行錯誤,煩請版主及各位仁兄幫忙,謝謝!
(defun c:CircleArr()
        (setq Ychange 0)
        (setq CP '(0 0 0))
        (setq Yleth 0)
(while (

xjwg5f5pfje.bmp

xjwg5f5pfje.bmp

回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-1-30 10:22:00 | 显示全部楼层
复制代码运行结果如下(200行列,0.5行列距,0.05行列步进,圆半径为1)
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:3kbn033b0wp.rar 
下载次数:0  文件大小:208.47 KB  售价:2银币 [记录]
下载权限: 不限 以上或 Vip会员   [开通Vip]   [签到领银币]  [免费赚银币]

回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2004-1-30 11:26:00 | 显示全部楼层
先謝Lockmyeye,你上面程序我在autocad2002中運行通過,但顯示出來是等直徑圓在x,Y軸上已給定間距排列!可能是我沒說清楚!我所需的是實體圓在x,y軸上不但可以不同間距RUN,而且其直徑也會跟我給定增量或減量變化!下面是這樣一個程序及運行結果,但我又想到一個問題,如果我不滿意某一區域點排列(如圖畫圓圈處),怎麼在程序上改一些基本參數就可重新lay我指定區域的點?請幫忙探討與回覆,TKS!
        (setq Ycolum(getint"\n pls input the dot's Q'ty you wanted desgin in Y axis: ")) ;;y軸方向點數
        (setq Yleth(getreal"\n pls input the Y axis startpoint coordinate: ")) ;;y軸起始座標
        (setq Xcolum1(getint"\n pls input the dot's Q'ty you wanted desgin in x axis: "))
        (setq X_Cood1(getreal"\n pls input the X axis startpoint coordinate: "))
        (setq ridus1(getreal"\n pls input the Diameter of startpoint you wanted desgin in mm: "))
        (setq pitch_x(getreal"\n pls input the pitch between X axis dots you wanted desgin: "))
        (setq pitch_y(getreal"\n pls input the pitch between Y axis dots you wanted desgin: "))
        (setq reduce1(getreal"\n pls input reduce the dot you wanted desgin : "))
        (setq Xchange1 1)
        (setq Ychange 1)
        (setq CP '(0 0 0))
(while (<= Ychange Ycolum)
        (setq ridus (+ ridus1 reduce1)
                                                 pitch_a pitch_x
                                                 Xcolum Xcolum1
                                                 reduce reduce1
                                                 X_Cood X_Cood1
                                                 Xchange Xchange1
                                                 pitch_b pitch_y
        )         
        (setq Yleth (+ Yleth pitch_b))
         ( while (<= Xchange Xcolum)
                                 (setq X_Cood (+ X_Cood pitch_a))
                                 (setq CP (list X_Cood Yleth 0))
                                 (setq ridus (- ridus reduce))
                                 (command "donut" (- ridus ridus)         ridus         CP "")
                                 (setq Xchange (+ Xchange 1))
         )
(setq Ychange (+ Ychange 1))
)
)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-8 09:36 , Processed in 0.400472 second(s), 70 queries .

© 2020-2025 乐筑天下

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