明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: winwei

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

  [复制链接]
 楼主| 发表于 2004-1-31 14:56:00 | 显示全部楼层
hi,Lockmyeye,不知你有沒試一下我貼的程式,他是由大點(實心圓)依所指定間距在x,Y軸方向遞減涂布;不知你有沒辦法在此基礎上定義同一函數內;要求先從小到大,然後接著又重大到小涂布(圖形對稱).同時還有一個工具讓我對上面產生某一指定區域或任意區域不滿意點作修改(主要修改為重新調整其點大小與間距) ! 拜託高手幫忙,TKS!
发表于 2004-1-31 18:25:00 | 显示全部楼层
对于你帖的程序,请提供你所输入的参数,我现在随意输入一些参数得不到像你所要求那种效果。或者,提供一幅DWG样例。
 楼主| 发表于 2004-2-1 10:31:00 | 显示全部楼层
請輸入:40(Y上個數) 5(Y座標)         50(個數) 5(X座標)         2.0(起始圓直徑) 2.02(X方向間距) 2.5(Y方向間距) 0.04(點遞減量大小公差)這樣你就會看到啦!
发表于 2004-2-2 00:05:00 | 显示全部楼层
对生成后的对象进行镜象操作不就可以吗?
 楼主| 发表于 2004-2-2 12:37:00 | 显示全部楼层
Lockmyeye,對於先跑好程式,再在autocad中用手動mirror是可以的!


有沒辦法自動調用cad之mirror命令及specify opposite corner命令讓他自動幫忙鏡像? TKS!
发表于 2007-7-24 10:01:00 | 显示全部楼层
菜鸟请教::圆半径怎么改啊???还有如果间距不是等差数的话有没有什么办法呢????
发表于 2007-8-27 11:47:00 | 显示全部楼层
本帖最后由 作者 于 2007-8-27 11:54:49 编辑

上面的程序我稍做了修改,可是不论怎样就是结果不对

高手帮忙看下

(DEFUN c:test (/ col_base col_delta col_num i j point_base point_insert row_base row_delta row_num)
    ;;点数
    (INITGET 7)
    (SETQ row_num (GETINT "\n输入横向点个数:"))
    (INITGET 6)
    (IF (NOT (SETQ col_num (GETINT (STRCAT "\n输入纵向点个数 <" (ITOA row_num) ">:"))))
        (SETQ col_num row_num)
    )
    ;;基数
    (INITGET 1)
    (SETQ row_base (GETREAL "\n输入横向距离基数:"))
    (IF (NOT (SETQ col_base (GETREAL (STRCAT "\n输入纵向距离基数 <" (RTOS row_base 2) ">:"))))
        (SETQ col_base row_base)
    )
    ;;差值
    (INITGET 1)
    (SETQ row_delta (GETREAL "\n输入横向递增距离:"))
    (IF (NOT (SETQ col_delta (GETREAL (STRCAT "\n输入纵向递增距离 <" (RTOS row_delta 2) ">:"))))
        (SETQ col_delta row_delta)
    )
    ;;插入点
    (INITGET 1)
    (SETQ point_base (GETPOINT "\n选取插入点:"))
    ;;插入
    (SETQ i 0)
    (WHILE (< i row_num)
        (SETQ point_insert (POLAR point_base (* PI 0.5) (+ (* i col_base) (* i (- i 1) col_delta 0.5)))
              i            (1+ i)
              j            1
        )
        (WHILE (< j col_num)
            (COMMAND "circle" (POLAR point_insert 0 (/ 348.5 (- 850.4 (* 0.4 j)))) "0.4") ;使用相应的插入函数代替                 (修改的部分)
            (SETQ j (1+ j))
        )
    )
    (COMMAND "zoom"
             "w"
             point_base
             (POLAR point_insert 0 (+ (* j row_base) (* j (- j 1) row_delta 0.5)))
    )
    (PRINC)
)

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

本版积分规则

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

GMT+8, 2025-6-20 06:58 , Processed in 0.169983 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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