明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: lingduwx

[已解答] 请问各位大侠谁有“对齐填充图案”的LSP啊(已解决,谢谢)

[复制链接]
发表于 2015-7-10 11:06:03 | 显示全部楼层
edata 发表于 2015-7-9 16:44

我电脑只装了低版本07-08,我先试一试 OSNAPHATCH

点评

在07 , 两个变量都可以用  发表于 2015-7-10 14:02
08有新变量。07你自己翻一翻help文件。06是老变量。  发表于 2015-7-10 12:54
 楼主| 发表于 2015-7-10 11:08:11 | 显示全部楼层
lingduwx 发表于 2015-7-9 19:34
谢谢,真是解决了俺的一个大难题啊,呵呵

还要麻烦大哥指点一下,标题前面那个红色的(未解决)三个字俺不知道在哪儿取消啊,谢谢了

点评

页面上仔细找找 ,黄色的按钮  发表于 2015-7-10 12:39
发表于 2015-7-10 11:44:56 | 显示全部楼层
右上方向有个黄色的按钮:已解决
发表于 2015-7-10 13:27:48 | 显示全部楼层
ucuc2003 发表于 2015-7-10 11:06
我电脑只装了低版本07-08,我先试一试 OSNAPHATCH

嗯,已解决,谢谢
发表于 2015-7-11 14:00:00 | 显示全部楼层
本帖最后由 ucuc2003 于 2015-7-11 15:11 编辑

  1. ;;;;;改变填充基点及角度 by ucuc2003 2012年5月11日
  2. (defun C:TT5 (/ os htcjd o_DIMZIN ss i s1)
  3.   (setvar "cmdecho" 0)
  4.   (setq os (getvar "osmode"))
  5.   (setq htcjd (getvar "hpang"))
  6.   (setq o_DIMZIN (getvar "DIMZIN"))
  7.   (princ "改变填充图案的新基点及角度")
  8.   (defun *Error* (msg);出错处理
  9.     (if (and msg (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,*EXIT*,")))
  10.        (setvar "osmode" os))
  11.   );defun *Error*
  12.   (setvar "DIMZIN" 8)
  13.   (setvar "osmode" 7167)

  14.   (if (= tcjj_old_ang nil) (setq tcjj_old_ang 0))
  15.   (princ (strcat "\n指定填充图案的角度值<" (angtos tcjj_old_ang 0 6) ">: "))
  16.   (setq tcjj_hatch_ang (getangle))
  17.   (if tcjj_hatch_ang (setq tcjj_old_ang tcjj_hatch_ang)(setq tcjj_hatch_ang tcjj_old_ang))
  18.   (setvar "DIMZIN" o_DIMZIN)

  19.   (setq pt (getpoint "\n指定填充图案的新基点 <当前原点>:"))
  20.   (if (not pt)(setq pt '(0. 0. 0.)))
  21.   (setvar "osmode" os)

  22.   (while
  23.     (princ "\n请选择填充图案:")
  24.     ;(command "_.undo" "_begin")
  25.     (if (setq ss (ssget '((0 . "hatch"))) i -1)
  26.       (while (setq s1 (ssname ss (setq i (1+ i))))
  27.            (command "hatchedit" s1 "p" "" "" (angtos tcjj_hatch_ang 0 6))
  28.            (setvar "hpang" htcjd)
  29.            (command "-hatchedit" s1 "o" "s" pt "n")
  30.       );while
  31.     )if
  32.     ;(command "undo" "e")
  33.   );while
  34.   (princ)
  35. );over defun
以前做的一个和这个类似,这个效率有点慢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2015-7-11 14:31:10 | 显示全部楼层

和edata大侠的程序合体,更高效,使用者自己再简化下,我的代码很啰嗦

本帖最后由 ucuc2003 于 2015-7-11 15:07 编辑
  1. ;;;改变填充基点及角度
  2. (defun C:TT6 (/ os htcjd o_DIMZIN ss i s1 obj ang)
  3.   (setvar "cmdecho" 0)
  4.   (setq os (getvar "osmode"))
  5.   (setq htcjd (getvar "hpang"))
  6.   (setq o_DIMZIN (getvar "DIMZIN"))
  7.   (princ "改变填充图案的新基点及角度")
  8.   (defun *Error* (msg)
  9.     (if (and msg (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,*EXIT*,")))
  10.        (setvar "osmode" os))
  11.   );defun *Error*
  12.   (setvar "DIMZIN" 8)
  13.   (setvar "osmode" 7167)
  14.   (if (= tcjj_old_ang nil) (setq tcjj_old_ang 0))
  15.   (princ (strcat "\n指定填充图案的角度值<" (angtos tcjj_old_ang 0 6) ">: "))
  16.   (setq tcjj_hatch_ang (getangle))
  17.   (if tcjj_hatch_ang (setq tcjj_old_ang tcjj_hatch_ang)(setq tcjj_hatch_ang tcjj_old_ang))
  18.   (setvar "DIMZIN" o_DIMZIN)
  19.   (setq pt (getpoint "\n指定填充图案的新基点 <当前原点>:"))
  20.   (if (not pt)(setq pt '(0. 0. 0.)))
  21.   (setvar "osmode" os)

  22. ;  (while
  23.     (if (setq ss (ssget ":s" '((0 . "hatch"))) i -1)
  24.       (while (setq s1 (ssname ss (setq i (1+ i))))
  25.         (setq obj (vlax-ename->vla-object s1))
  26.         (setq ang tcjj_hatch_ang)
  27.         (if pt
  28.           (vla-put-Origin
  29.             obj
  30.             (vlax-safearray-fill
  31.               (vlax-make-safearray vlax-vbDouble '(0 . 1))
  32.               (list (car pt) (cadr pt))
  33.             )
  34.           )
  35.         )
  36.         (if ang
  37.           (vla-put-PatternAngle obj ang)
  38.         )
  39.         (vla-update obj)
  40.       );while
  41.     )if
  42. ;  );while
  43.   (princ)
  44. );over defun

发表于 2015-7-11 15:06:28 | 显示全部楼层
本帖最后由 ucuc2003 于 2015-7-11 15:38 编辑

填充角度改成自动记忆的,个人比较喜欢批量的,改成批量的了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-7-11 20:50:34 | 显示全部楼层
ucuc2003 发表于 2015-7-11 15:06
填充角度改成自动记忆的,个人比较喜欢批量的,改成批量的了

大哥真是厉害啊,这个修改后的简直是太好用了,谢谢了哈
发表于 2015-7-13 13:16:39 | 显示全部楼层
lingduwx 发表于 2015-7-11 20:50
大哥真是厉害啊,这个修改后的简直是太好用了,谢谢了哈

这个是必须的
发表于 2017-11-1 15:51:48 | 显示全部楼层
对齐填充图案,功能非常好用。谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 12:09 , Processed in 0.185484 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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